Heim  >  Artikel  >  Backend-Entwicklung  >  Ein einfacher Schritt, um Ihren Python-Code sauberer zu machen

Ein einfacher Schritt, um Ihren Python-Code sauberer zu machen

王林
王林nach vorne
2023-04-12 22:19:171184Durchsuche

Leichter gesagt als getan. Wir alle wissen, dass die Lesbarkeit des Codes sehr wichtig ist, aber wir schreiben immer so, wie wir wollen, ohne Rücksicht auf Typhinweise, Importsortierung und PEP8-Spezifikationen. Heute verrate ich Ihnen einen kleinen Trick, mit dem Sie Ihren Python-Code in nur einem einfachen Schritt sauberer machen können.

Dies ist ein Pre-Commit:

Ein einfacher Schritt, um Ihren Python-Code sauberer zu machen

ermöglicht es Ihnen, vor dem Absenden automatisch zu prüfen, ob Ihr Code den gewünschten Spezifikationen entspricht .

Bevor Sie es verwenden, installieren Sie es mit pip:

pip install pre-commit

Erstellen Sie dann zwei Dateien im Stammverzeichnis des Projekts: .pre-commit-config.yaml und pyproject.toml . Der Inhalt der Datei

.pre-commit-config.yaml lautet wie folgt:

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]

Dies enthält Tools wie black, mypy, check-docstring-first, isort und die id ist das entsprechende Tool, man kann sagen, dass diese Konfigurationsdatei grundsätzlich ausreicht.

In der Datei .pre-commit-config.yaml können wir angeben, welche Hooks verwendet werden, und in pyproject.toml können wir Parameter für diese einzelnen Hooks angeben.

Der Inhalt der Datei pyproject.toml lautet wie folgt:

[tool.black]
line-length = 88
target-version = ["py38"]

[tool.isort]
profile = "black"
multi_line_output = 3

Die relevanten Konfigurationen von Black und Isort werden hier konfiguriert.

Führen Sie dann den Pre-Commit-Installationsbefehl im Stammverzeichnis des Projekts aus, um das Pre-Commit-Plug-In zu installieren.

Dann werden jedes Mal, wenn Sie den Code aktualisieren und den Code übermitteln, diese Hooks ausgelöst und die folgenden Vorgänge werden automatisch ausgeführt:

Import sortieren

#🎜 🎜#PEP8-Formatcode

Überprüfen Sie Ihre Yaml- und JSON-Dateien auf Richtigkeit

Typprüfung (wenn Sie Typhinweise verwendet haben)

# 🎜🎜#Ein einfacher Schritt, um Ihren Python-Code sauberer zu machenEndlich


Sie können diese beiden Dateien in Ihr eigenes Projektstammverzeichnis kopieren und dann eine Pre-Commit-Installation durchführen, sodass jedes Mal, wenn Sie die senden Code Gleichzeitig ist alles sauberer Code. Ist das nicht sehr praktisch?

Das obige ist der detaillierte Inhalt vonEin einfacher Schritt, um Ihren Python-Code sauberer zu machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen