본문 바로가기
프로그래밍/클린 코드

[클린 코드] 1. 데이터 타입 일관성 검사하기 (feat. mypy)

by 부자 꽁냥이 2023. 2. 12.

클린 코드는 자신을 위해서 또는 내 코드를 사용할 다른 사람들을 위해서 코드를 일관성 있고 가독성 있게 프로그래밍된 코드를 말한다. 이번 포스팅에서는 그중에서 mypy을 이용한 데이터 타입 일관성을 검사하는 방법에 대해서 알아보려고 한다.


   데이터 타입 일관성 검사하기

1) mypy 설치하기

mypy는 pip을 통하여 설치할 수 있다.

 

pip install mypy

2) 데이터 타입 일관성 검사하기

먼저 아래 코드를 담은 파이썬(python) 파일 test.py를 만들어준다. 아래 코드는 문자열 타입 변수 message와 문자열을 원소로하는원소로 하는 리스트(List) 또는 튜플(Tuple) 타입 변수 users를 받아서 문자열을 원소로 하는 순회가능한 객체를 리턴한다. 그러고 나서 의도했던 타입이 아닌 정수형 값을 users에 전달하여 test_func을 호출한다.

 

from typing import Iterable, List, Union, Tuple

def test_func(message: str, users: Union[List[str], Tuple[str]])-> Iterable[str]:
    res = []
    for user in users:
        res.append(f'Hello, {user}! {message}')
        
    return res

test_func('Nice to meet you', 20)

 

이제 mypy를 이용하여 타입 검사를 해보자. 타입 검사는 프롬프트 창에서 아래 명령어를 실행하면 된다.

 

mypy test.py

 

해당 코드를 실행하면 아래와 같이 mypy가 두 번째 타입에는 문자열을 포함하는 리스트나 튜플이 와야하는데 정수형(int)이 입력된 상황이라는 것을 알려준다.

 

 

이제 10번째 줄을 다음과 같이 올바른 타입으로 고친 다음 다시 한번 mypy를 통해 검증해보자.

 

test_func('Nice to meet you', ['Jack', 'Michael'])

 

 

mypy 명령어를 수행하면 이번에는 데이터 타입이 정상적으로 입력되어 이슈가 없다는 메시지를 출력한다. 이게 정상인 것이다.


- 참고 자료 -

유지보수가 쉬운 파이썬 코드를 만드는 비결 파이썬 클린 코드 2판


댓글


맨 위로