말하기는 쉽지만 코드 가독성이 매우 중요하다는 것은 누구나 알고 있지만, 유형 힌트, 가져오기 순서, PEP8 사양을 고려하지 않고 항상 원하는 대로 작성합니다. 오늘 저는 단 한 번의 간단한 단계로 Python 코드를 더 깔끔하게 만들 수 있는 작은 트릭을 공유하겠습니다.
이것은 사전 커밋입니다.
코드를 제출하기 전에 코드가 원하는 사양을 충족하는지 자동으로 확인할 수 있습니다.
사용하기 전에 pip로 설치하세요:
pip install pre-commit
그런 다음 프로젝트의 루트 디렉터리에 .pre-commit-config.yaml 및 pyproject.toml이라는 두 개의 파일을 만듭니다.
.pre-commit-config.yaml 파일의 내용은 다음과 같습니다.
exclude: _pb2.py$ repos: - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black args: [--skip-string-normalization] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-docstring-first - id: check-json - id: check-merge-conflict - id: check-yaml - id: debug-statements - id: end-of-file-fixer - id: trailing-whitespace - id: requirements-txt-fixer - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.9.0 hooks: - id: python-check-mock-methods - id: python-use-type-annotations - repo: https://github.com/pre-commit/mirrors-mypy rev: "v0.910" hooks: - id: mypy args: [ --ignore-missing-imports, --warn-no-return, --warn-redundant-casts, --disallow-incomplete-defs, ] additional_dependencies: [types-all] - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort args: [--profile, black, --filter-files]
black, mypy, check-docstring-first, isort 등의 도구가 포함되어 있습니다. ID는 해당 도구일 수 있습니다. 기본적으로는 이 구성 파일을 사용하면 충분하다고 할 수 있습니다.
.pre-commit-config.yaml 파일에서 사용할 후크를 지정할 수 있고 pyproject.toml에서 이러한 개별 후크에 대한 매개변수를 지정할 수 있습니다.
pyproject.toml 파일 내용은 다음과 같습니다.
[tool.black] line-length = 88 target-version = ["py38"] [tool.isort] profile = "black" multi_line_output = 3
black 및 isort 관련 구성은 여기에서 구성됩니다.
그런 다음 프로젝트의 루트 디렉터리에서 pre-commit install 명령을 실행하여 pre-commit 플러그인을 설치하세요.
그런 다음 코드를 업데이트하고 제출할 때마다 이러한 후크가 트리거되고 다음 작업이 자동으로 수행됩니다.
가져오기 정렬
PEP8 형식 코드
yaml 및 json 파일의 정확성을 확인하세요
유형 확인(유형 힌트를 사용하는 경우)
Finally
이 두 파일을 프로젝트 루트 디렉터리에 복사한 다음 사전 커밋 설치를 수행하여 코드를 제출할 때마다 코드를 정리할 수 있습니다. , 정말 편리하지 않나요?
위 내용은 Python 코드를 더욱 깔끔하게 만드는 간단한 한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!