>  기사  >  백엔드 개발  >  Python 코드를 더욱 깔끔하게 만드는 간단한 한 단계

Python 코드를 더욱 깔끔하게 만드는 간단한 한 단계

王林
王林앞으로
2023-04-12 22:19:171179검색

말하기는 쉽지만 코드 가독성이 매우 중요하다는 것은 누구나 알고 있지만, 유형 힌트, 가져오기 순서, PEP8 사양을 고려하지 않고 항상 원하는 대로 작성합니다. 오늘 저는 단 한 번의 간단한 단계로 Python 코드를 더 깔끔하게 만들 수 있는 작은 트릭을 공유하겠습니다.

이것은 사전 커밋입니다.

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 파일의 정확성을 확인하세요

유형 확인(유형 힌트를 사용하는 경우)

Python 코드를 더욱 깔끔하게 만드는 간단한 한 단계

Finally

이 두 파일을 프로젝트 루트 디렉터리에 복사한 다음 사전 커밋 설치를 수행하여 코드를 제출할 때마다 코드를 정리할 수 있습니다. , 정말 편리하지 않나요?

위 내용은 Python 코드를 더욱 깔끔하게 만드는 간단한 한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제