정적 코드 분석: 프로그램을 실행하지 않고 문법 오류나 코딩 규약 위반 등을 분석하는 행위
➡️ 오류 사전 제거 및 가독성 향상
사람마다 코딩하는 스타일이 다르기 때문에 pep-8
이라는 파이썬 표준 코딩 스타일 가이드가 존재한다. pep-8
가이드라인에 맞춰 코드를 작성하고 정적 분석을 수행하면 표준화된 코드로 원활한 협업이 가능하다.
개인적으로 pep-8
가이드라인을 준수하면서 느낀 좋은점은 일단 코드가 깔끔해지고, 협업 시에 코드 스타일과 관련한 충돌이 적게 발생한다는 것이다.
pep-8
가이드라인에 대한 공식 문서는 해당 링크를 확인할 것 ‼
pep-8
의 체크, pyflakes의 체크 및 순환 복잡도를 확인할 수 있는 Python lint 중에 하나이다.
현재는 pep8 가이드라인 준수 체크에만 활용하고 있지만, 추후에 코드 복잡도 확인에도 적용해보고 글을 쓸 예정이다.
아무래도 pep-8
공식 문서를 모두 읽고 지키기에는 좀 무리가 있었는데, 해당 lint를 사용하면 어떤 코드가 가이드라인을 준수하지않았는지 vscode 하단 problem 탭에서 다 나타나기때문에 좀 더 빠르게 손에 익을 수 있는 것 같다.
pip 로 flask8
을 설치하기
pip install flake8
vscode marketplace에서 flake8 설치
cmd + shift + p
로 command palette를 열어서 아래 작업 진행하기
flake8
을 검색해서 활성화기본적인 flask8
동작은 위 과정을 실행하면 된다.
vscode 하단 PROBLEM
탭에 lint에서 잡은 문제와 에러 코드가 뜬다.
클릭하면 해당 라인으로 이동해서 수정이 가능하다
flake8을 사용하다보면 무시하고 싶은 에러가 존재할 수 있다.
나는 too many line
과 import
관련 에러를 무시해서 사용하고 있는데,
command palatte 를 열어서 setting.json
을 작성해 설정 파일을 연다
.vscode/setting.json
이 열리면 아래처럼 코드를 작성해주면 된다.
"flake8.args": [
"--max-line-length=200",
"--ignore=E501", // too many line
"--ignore=E402", // module level import not at top of file
"--ignore={무시할 에러코드}"
],
오타있어요 flask8 -> flake8