Maison >développement back-end >Tutoriel Python >Une étape simple pour rendre votre code Python plus propre
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 :
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
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]
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
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)
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!