소스코드의 정적 분석은 실행하지 않고 소스코드에 대해서 분석을 하는 것을 뜻합니다.
정적 분석의 반대는 동적 분석이며, 동적 분석은 실행 결과 디버깅부터 테스트 소스 커버리지 확인 등등이 다 포함이 됩니다.
정적 분석은 툴을 이용하거나 소스코드 리뷰를 하는 방식이 있는데요.
Python 소스 코드를 정적 분석을 해주는 툴은 pylint와 flake8이 많이 사용됩니다.
이 두가지의 툴은 둘 다 pip를 활용하여 쉽게 설치할 수 있습니다.
pip install pylint
pip install flake8
이렇게 설치하고 사용하는 방법 또한 매우 쉽습니다.
python -m pylint hello_world.py
python -m flake8 hello_world.py
pylint를 실행하면 아래와 같이 결과가 뜨고, 10.0점을 채우면 pylint의 기준을 만족하는 것입니다.
docstring이 없다고 나오는 것을 알 수 있습니다. docstring을 추가해주고 한번 더 pylint 실행해해보면 이전에는 몇점이였는데 몇점으로 바뀌었다는 내용까지 친절하게 알려줍니다.
flake8은 실행하였을 때, 모든 기준을 만족한다면 아무 출력이 없습니다.
이 점 참고하셔서 python 소스 코드의 정적 분석을 해주시면 됩니다.
그리고 IDE를 활용할 때는, IDE에서 띄워주는 메시지를 따라서 수정해주셔도 됩니다.
'python' 카테고리의 다른 글
[Python] python 예외처리 try, except, else, finally (2) | 2020.06.20 |
---|---|
[Python] dict 정렬하기 (0) | 2020.05.27 |
[python] float or int list to str list & str to float or int list (0) | 2019.04.19 |
[Python] python에서 bash 명령 실행하는 방법 (0) | 2018.06.26 |
Anaconda 사용법 (0) | 2017.08.28 |