Python / Package / flake8 - PEP(Python Enhance Proposal) 검증 패키지 사용법

Style Guide for Python Code

여러 명이 공동으로 파이썬 코딩을 할 때, 각자의 스타일이 다르면 문제가 생길 수 있습니다. 그래서 협업을 수월하게 할 수 있도록 몇 가지 규칙을 정놓았는데, 이를 PEP(Python Enhance Proposal)라고 합니다. 몇 가지 규칙을 나열해보면...

  • Use 4 spaces per indentation level. : 들여쓰기는 4칸의 공백
  • Limit all lines to a maximum of 79 characters. : 한 줄에는 최대 79 글자
  • Code in the core Python distribution should always use UTF-8 : 인코딩을 UTF-8

이런 규칙들을 모아 놓은 문서는 여기입니다.

flake8

코드 스타일을 암기하고 사용하고, 점검하는 건 번거로운 작업입니다. 이를 도와주는 패키지가 flake8입니다. 코드를 분석하고, 규칙에서 벗어나는 것이 있다면 알려줍니다.

flake8 기본 정보는 다음과 같습니다.

pip로 설치할 수 있습니다.

flake8 사용법

예를 들어 다음과 같은 코드를 가진 hello.py가 있다고 하면...

검사 결과는 다음과 같습니다.

'(' 다음에 공백이 필요 없고, ')' 앞에 공백이 필요 없고, 등호 앞의 공백을 한 칸으로 하고, 마지막에 빈 줄을 넣으라고 합니다. 이를 다 수정한 코드는 다음과 같습니다.

첫 번째 코드나 두 번째 코드 모두 실행에는 문제가 없지만, 두 번째처럼 하면 공동 작업이 편하다는 것이죠.

권장되는 스타일이 마음에 들지 않을 수도 있지만, 가급적 지켜 나가는 게 나중을 위해 좋다고 생각합니다.(개인적으론 들여쓰기는 2칸의 공백을 좋아합니다.)