문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Python (문단 편집) === 코드 퀄리티 관리 === * [[https://black.readthedocs.io/|Black]]: PSF(Python 소프트웨어 재단)에서 직접 만든 코드 스타일 수정 도구다. 다른 스타일 도구에 비해 매우 엄격한 것이 특징으로, '''타협하지 않는 스타일 정리기(The Uncompromising Code Formatter)'''라는 컨셉을 고수한다. 이 때문에 다른 검사 도구에 비해 설정할 수 있는 옵션의 개수가 매우 적다. 내가 원하는 코드 스타일이 아니라 Black이 강요하는 스타일을 따라가야 한다는 단점이 있지만, 대신 Black으로 처리한 코드는 누가 쓰든 비슷비슷해서 가독성은 매우 뛰어나게 된다. 개발자가 신경 써야 할 것을 최소화한다는 점 덕분에 후발 주자임에도 빠르게 인기를 얻었다. 어떤 식으로 코드를 자동으로 수정하는지는 [[https://black.vercel.app/|여기]]에서 체험해 볼 수 있다. * [[https://flake8.pycqa.org/|Flake8]]: 속도가 아주 빠르다. 그리고 플러그인을 더 설치해서 원하는 검사 방식을 추가할 수도 있다. PyPI에 관련 플러그인은 100가지도 넘게 있다. 그 중 [[https://github.com/DmytroLitvinov/awesome-flake8-extensions|선별된 목록]]도 있다. * [[https://www.pylint.org/|Pylint]]: Python 코드를 검사하여 오류나 바람직하지 않은 문법을 잡아내는 도구이다. * [[http://mypy-lang.org/|MyPy]]: Python을 위한 자료형 검사 도구의 원조로, 순수 Python으로 작성되었다. * [[https://pyre-check.org/|Pyre]]: [[메타(기업)|메타]]에서 만든 자료형 검사 도구로, Ocaml로 작성되었다. * [[https://github.com/microsoft/pyright|Pyright]]: [[마이크로소프트]]에서 개발한 자료형 검사 도구로, [[TypeScript]]로 작성되었다. Visual Studio Code 플러그인을 정식 지원하며, 플러그인이 아닌 명령줄 도구로 사용하려면 [[Node.js]]를 설치해야 한다. * [[https://google.github.io/pytype/|Pytype]]: [[구글]]에서 만든 자료형 검사 도구이다. * [[https://github.com/hhatto/autopep8|autopep8]]: Python 공식 스타일 가이드인 [[https://www.python.org/dev/peps/pep-0008/|PEP 8]]에 맞게 코드를 고쳐준다. * [[https://github.com/google/yapf|yapf]]: [[구글]]에서 개발한 스타일 검사 도구. * [[https://timothycrosley.github.io/isort/|isort]]: import 문을 일관성 있게 정렬해 준다. 내가 작성한 Python 코드가 잘 쓰였는지 검사하거나 수정해 주는 패키지. Python은 다른 언어에 비해 문법 규칙이 일관적이지만, 한 줄의 길이나 문자열을 감싸는 따옴표({{{""}}}/{{{''}}}) 등 개발자 입장에서 논쟁거리가 될 만한 요소는 많다. 따라서 코딩 스타일을 통일하는 도구를 사용하면 여러 사람이 협업하면서 생기는 코드의 가독성 문제를 개선할 수 있다. 또한 코딩하는 중에도 오류나 바람직하지 않은 코드를 잡아낼 수 있는 편리한 기능을 제공하는 도구를 사용하면 버그를 일찍 잡아내고 테스트에 드는 노력을 줄일 수 있다. 코드 검사 도구의 한 갈래로 자료형 검사 도구(type checker)가 있다. 동적 언어라서 변수의 자료형을 따로 체크하지 않는 Python을 위해, 코드를 직접 분석하여 변수를 올바른 용도로 사용하는지, 특정 함수에 올바른 값을 전달하는지와 같은 정보를 검사한다. 동적 언어인 [[JavaScript]]에 자료형을 추가하여 만든 정적언어인 [[TypeScript]]는 컴파일 중에 타입을 전부 검사한다. TypeScript와 달리 Python은 type hint가 있지만 코드에 있을뿐이지 Python 자체는 자료형을 검사하지는 않는다. [* Type hint는 다른 도구가 읽고 분석하기 위한 용도이다.] 이 중 유명한 패키지들은 설치하고 나면 Visual Studio Code나 PyCharm과 같은 편집기에서 아예 GUI와의 연동을 통해 눈으로 코드의 상황을 볼 수 있도록 표시해 주는 기능을 사용할 수 있다. 이는 해당 편집기들이 코드 퀄리티 관리 도구 API를 자체 기능와 연결시켜 놓았기 때문에 가능한 것이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기