파이썬으로 개발을 한지 얼마 되지 않아 파이썬 개발시 기본이라는 pep8 양식을 지키지 않은 경우가 왕왕 발생한다. 이번에 개발한 프로그램을 코드를 보며 pep8 상 어긋나는 부분 특히 import 부분을 비교해보려한다
모듈 import 순서는 다음과 같다
1. 표준 라이브러리 모듈
2. 서드파티 모듈
3. 직접 만든 모듈
직접 만든 모듈은 제외하고, 표준 라이브러리 모듈과 서드 파티 모듈은 어떻게 구분할까. 표준 라이브러리 모듈은 python이나 django에서 지원하는 모듈일테고 서드파티 모듈은 팀에서 공통적으로 사용하도록 개발된 모듈일것이다.
위의 코드상으로 보면 표준 라이브러리 모듈 다음에 서드파티 모듈이 들어가도록 구현되어있다. 다만, naver_gateway.py를 보면 직접 만든 모듈이 서드파티 모듈 상단에 위치해있다.
이 부분을 이렇게 바꾸자.
pep8에서는 모듈 import시 절대 경로 사용을 권장한다. 사용할 모듈이 현재 모듈과 같은 패키지 상에 있더라도 절대경로를 사용하도록 하고 있다. 유지보수시 이슈가 되는 모듈을 빠르게 찾을 수 있기 위함인듯하다.
위 코드를 보면 상대경로를 매우 많이 쓰고 있다...기존 레거시 코드가 상대경로를 주로 사용하고 있었고 이에 익숙해진 탓이다. 이를 고쳐보자
훨씬 가독성이 나아졌다.