Écrire du code python dans VSCode, introduction et recommandation d'outils de spécification de code

introduction

  • Dans la vie de tous les jours, le code le plus écrit est Python. Bien que je sois ingénieur en algorithmes, je ne suis pas ingénieur, j'ai donc encore besoin de compétences de base en codage.
  • Puisque Python est un langage à typage dynamique, il n'y a pas de contraintes obligatoires. S'il n'y a pas de spécifications correspondantes, la lisibilité du code écrit par tout le monde sera médiocre et les problèmes potentiels seront difficiles à trouver.
  • Par conséquent, cet article vise à présenter quelques outils pour vous aider à écrire du code plus robuste.

en conclusion

  • Permettez-moi de parler d'abord de la conclusion, pour faire gagner du temps à tout le monde :
    • Pylint + Noir + MyPy + isort
  • La combinaison des quatre outils ci-dessus peut écrire un code plus standardisé et plus ordonné. Bien sûr, la qualité spécifique dépend d'elle-même, et les outils ne sont que secondaires. se souvenir.

Présentation de Pylint et configuration de VSCode

Présentation de Pylint

  • Pylint est un outil d'analyse statique pour le code Python. Il peut vérifier la qualité du code, les bogues potentiels, le style de code, la complexité et de nombreux autres aspects. En même temps, il dispose d'un large éventail d'options de configuration, qui peuvent être personnalisées de manière flexible en fonction des besoins du projet.
  • Il convient de mentionner que les amis peuvent être confus quant à la relation entre Pylint et Flake8, et pourquoi choisir Pylint ?
    • Ce problème m'a également troublé, car le plug-in Flake8 est toujours installé par défaut dans mon plug-in VSCode. Quant à sa fonction, je n'ai jamais été étudiée en détail. Aujourd'hui, en cherchant sur internet, je peux comprendre la différence entre les deux :
    • la différence:
      • Portée fonctionnelle : Pylint est un outil très puissant qui peut vérifier plusieurs aspects de la qualité du code, des erreurs potentielles, du style de code, de la complexité, etc. Pylint fournit un grand nombre de règles d'inspection et génère des rapports détaillés. En revanche, Flake8 se concentre davantage sur le style de code et la vérification de la syntaxe.Il combine plusieurs outils indépendants, notamment pyflakes, pycodestyle et mccabe, pour fournir un style de code cohérent et une vérification statique des erreurs.
      • Options de configuration : Pylint fournit une large gamme d'options de configuration, qui peuvent être personnalisées de manière flexible en fonction des besoins du projet. Il vous permet de modifier le comportement des règles via des fichiers de configuration ou des arguments de ligne de commande. Flake8 a relativement peu d'options de configuration, qui sont principalement définies via des fichiers de configuration, mais il fournit des plugins et extensions supplémentaires qui peuvent ajouter des fonctionnalités et des options de personnalisation.
    • connecter:
      • Analyse statique : Pylint et Flake8 sont des outils d'analyse statique utilisés pour détecter les problèmes potentiels pendant la phase d'écriture du code. Ils peuvent vérifier automatiquement le code et trouver les erreurs de syntaxe, les variables inutilisées, les sections non conformes à la charte graphique du code, etc.

      • Prise en charge des plugins : Pylint et Flake8 prennent en charge l'utilisation de plugins pour étendre leurs fonctionnalités. Vous pouvez choisir et ajouter des plugins appropriés selon vos besoins pour répondre aux besoins de projets spécifiques.

      • Assistance communautaire : Pylint et Flake8 ont des communautés d'utilisateurs actives, fournissant de la documentation, des exemples et des forums d'assistance. Cela vous permet d'apprendre de l'expérience des autres utilisateurs et d'obtenir des commentaires et de l'aide.

      • Intégration avec des environnements de développement intégrés (IDE) : Pylint et Flake8 peuvent être intégrés à plusieurs environnements de développement intégrés (IDE) Python couramment utilisés, tels que PyCharm, Visual Studio Code, etc. Cela vous permet d'obtenir des inspections de code et des suggestions à la volée pendant le développement.

  • Verdict final : choisissez Pylint.

Configuration du code VS

  1. installer Pylintle plug-in
  2. configurationsetting.json
        "pylint.importStrategy": "useBundled",
        "pylint.args": [
            "--disable=invalid-name,missing-module-docstring",
            "--disable=W0612,W0631,W0703,W0621,W0613,W0611,W1308,C0411,C0111,C0103,C0301,C0304,C0305,E1101,R0913,R0914,R0915,R0903" ,
        ]
    

Introduction noire et configuration VSCode

Introduction

  • Black est un outil pour formater automatiquement le code Python, visant à fournir un style de code unifié. Il suit un ensemble strict de règles et de conventions pour garantir que le code des différents développeurs est cohérent dans son format. Le principe de fonctionnement est "aucune configuration requise".
  • Comparé à yapf , autopep8 , pourquoi choisir Black ?
    • Parce que je suis paresseux, je ne veux pas configurer trop de choses. Les amis intéressés peuvent comparer les différences entre les trois par eux-mêmes.

Configuration du code VS

  1. installer Black Formatterle plug-in
  2. configurationsetting.json
        "[python]": {
          
          
            "editor.defaultFormatter": "ms-python.black-formatter",
            "editor.codeActionsOnSave": {
          
          
                "source.organizeImports": true
            },
            "editor.formatOnSave": true,
        },
    

Présentation de MyPy et configuration de VSCode

Présentation de MyPy

  • MyPy est un outil de vérification de type statique. Sa fonctionnalité est la suivante : lorsque des annotations de type sont ajoutées au code, MyPy prend en charge l'inférence de type, les indications de type et les fonctions d'annotation de type.
  • Pour utiliser cet outil, vous devez modifier vos habitudes quotidiennes et ajouter des annotations de type aux paramètres de fonction, ce qui augmente également la lisibilité du code. Bien sûr, c'est une chose douloureuse au début, mais après m'y être habitué, j'en profite beaucoup.

Configuration du code VS

  1. installer le pluginMypy Type Checker
  2. configurationsetting.json
        "mypy-type-checker.importStrategy": "useBundled",
        "mypy-type-checker.args": [
            "--follow-imports=skip",
            "--ignore-missing-imports",
            "--show-column-numbers",
            "--allow-untyped-defs",
            "--allow-subclassing-any",
            "--allow-untyped-calls",
            "--no-warn-no-return"
        ],
    

Je trie

  • Cet outil permet de trier les importations dans le fichier py. Il peut être simplement configuré comme une règle noire.

Configuration du code VS

  1. installer isortle plug-in
  2. configurationsetting.json
        "isort.args":["--profile", "black"],
    

Terminer la configuration de setting.json

    "[python]": {
    
    
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.codeActionsOnSave": {
    
    
            "source.organizeImports": true
        },
        "editor.formatOnSave": true,
    },
    "isort.args":["--profile", "black"],
    "mypy-type-checker.importStrategy": "useBundled",
    "mypy-type-checker.args": [
        "--follow-imports=skip",
        "--ignore-missing-imports",
        "--show-column-numbers",
        "--allow-untyped-defs",
        "--allow-subclassing-any",
        "--allow-untyped-calls",
        "--no-warn-no-return"
    ],
    "pylint.importStrategy": "useBundled",
    "pylint.args": [
        "--disable=invalid-name,missing-module-docstring",
        "--disable=W0612,W0631,W0703,W0621,W0613,W0611,W1308,C0411,C0111,C0103,C0301,C0304,C0305,E1101,R0913,R0914,R0915,R0903" ,
    ]

Je suppose que tu aimes

Origine blog.csdn.net/shiwanghualuo/article/details/131750278
conseillé
Classement