Une étape simple pour rendre votre code Python plus propre

王林
Libérer: 2023-04-12 22:19:17
avant
1190 Les gens l'ont consulté

C'est plus facile à dire qu'à faire. Nous savons tous que la lisibilité du code est très importante, mais nous écrivons toujours comme bon nous semble, sans tenir compte des astuces de type, de l'ordre d'importation et des spécifications PEP8. Aujourd'hui, je vais partager une petite astuce qui peut rendre votre code Python plus propre en une seule étape simple.

Il s'agit d'un pré-commit :

Une étape simple pour rendre votre code Python plus propre

vous permet de vérifier automatiquement si votre code répond aux spécifications souhaitées avant de le soumettre.

Avant de l'utiliser, installez-le avec pip :

pip install pre-commit
Copier après la connexion

Créez ensuite deux fichiers dans le répertoire racine du projet : .pre-commit-config.yaml et pyproject.toml. Le contenu du fichier

.pre-commit-config.yaml est le suivant :

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]
Copier après la connexion

Il contient des outils tels que black, mypy, check-docstring-first, isort, etc. L'identifiant est l'outil correspondant Il peut. on peut dire que ce fichier de configuration est fondamentalement assez utilisé.

Dans le fichier .pre-commit-config.yaml, nous pouvons spécifier quels hooks seront utilisés, et dans pyproject.toml, nous pouvons spécifier les paramètres de ces hooks individuels. Le contenu du fichier

pyproject.toml est le suivant :

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

[tool.isort]
profile = "black"
multi_line_output = 3
Copier après la connexion

Les configurations pertinentes de black et isort sont configurées ici.

Ensuite, exécutez la commande d'installation de pré-commit dans le répertoire racine du projet pour installer le plug-in de pré-commit.

Ensuite, chaque fois que vous mettez à jour le code et soumettez le code, ces hooks seront déclenchés et les opérations suivantes seront automatiquement effectuées :

Tri de l'importation

Code au format PEP8

Vérifiez l'exactitude de vos fichiers yaml et json

Tapez check (si vous utilisez des astuces de type)

Une étape simple pour rendre votre code Python plus propre

Enfin

, vous pouvez copier ces deux fichiers dans le répertoire racine de votre projet, puis exécuter une installation avant la validation, de sorte qu'à chaque fois que vous soumettez le code, nettoyez le code, n'est-ce pas très pratique ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal