본문 바로가기
Python

Python - Linting, 소스 분석, 코드 최적화 flake8

by 올엠 2022. 9. 21.
반응형

최선의 성능과 안정성이 있는 코드는 모든 경고를 제거한 코드라 할 수 있다.

여기에서는 flake8를 통해서 간편하게 코드에서 필요한 수정사항등이 무엇이 있는지 알아보도록 하겠다.

VSCode에서 많은 오류와 경고로 코드를 잡아주지만, VScode를 사용할 수 없거나, CI/CD 상황에서 사용할 만한 방법으로 flake8를 사용하면 어떨까 한다.

아래는 간단하게 VSCode 기본상태에서 flake8를 이용해서 테스트를 한 결과이다.

VScode와 다르게 현재 3가지 수정사항이 있는 것으로 확인된다.

flake8 이후 특정 파일이나 디렉토리를 통해서 코드를 분석할 수 있다.

PS C:\Users\Han\python\flake8> python3 -m flake8 .
.\test.py:4:1: F401 'os' imported but unused
.\test.py:4:1: E303 too many blank lines (3)
.\test.py:8:18: W292 no newline at end of file
.\test1.py:1:1: F401 'os' imported but unused
.\test1.py:2:1: W293 blank line contains whitespace
.\test1.py:5:12: W292 no newline at end of file
PS C:\Users\Han\python\flake8> python3 -m flake8 test1.py
test1.py:1:1: F401 'os' imported but unused
test1.py:2:1: W293 blank line contains whitespace
test1.py:5:12: W292 no newline at end of file
PS C:\Users\Han\python\flake8>

만약 예외해야 하는 정보가 있다면, .flake8 파일을 생성하고,

디렉토리(하위 포함됨), 파일 단위로 지정하여 해당 파일의 경우 예외하도록 지정할 수 있다.

[flake8]
exclude =
    __pycache__
    test1.py

 

반응형

댓글0