Comment réduire en charpie le code Python en utilisant Flake8

Un outil de linting est une ressource précieuse qui peut vous aider à détecter des erreurs et des incohérences dans votre code.

Flake8 est l’un des outils d’analyse les plus populaires pour Python. Il identifie les erreurs de syntaxe et de formatage dans votre code, ainsi que d’autres problèmes tels que les importations inutilisées. Il est très flexible car, même s’il a des règles par défaut, vous pouvez les modifier ou en ajouter pour répondre à vos besoins.

Vous pouvez également configurer Flake8 pour qu’il s’exécute lorsque vous enregistrez des mises à jour de votre code à l’aide de VS Code. Toutes ces fonctionnalités en font un outil précieux pour écrire des programmes Python.

Installation de Flake8

Suivez les étapes ci-dessous pour installer Flake8 sur votre environnement de développement. Il se peut que vous deviez d’abord installer Pip sur votre machine.

  1. Exécutez la commande ci-dessous dans votre terminal pour installer Flake8 :
  2. Vérifiez que Flake8 est installé en exécutant la commande suivante :
  3. Si Flake8 est installé correctement, vous devriez obtenir une sortie similaire à la suivante :

Une fois que vous avez installé Flake8 avec succès, vous pouvez commencer à l’utiliser.

Utiliser Flake8 pour analyser le code Python

Pour comprendre comment utiliser Flake8, commencez par le code suivant. Il contient quelques erreurs intentionnelles. Copiez-le dans un fichier appelé greeting.py.

Exécution de Flake8 sur un seul fichier

La syntaxe pour exécuter Flake8 sur un seul fichier est la suivante.

Dans cet exemple, naviguez jusqu’au répertoire contenant le fichier greting.py et exécutez la commande suivante.

Flake8 devrait renvoyer le message suivant indiquant qu’il y a eu une erreur d’indentation.

Ce message indique que la ligne 5 est inutilement indentée. Pour corriger cette erreur d’indentation, vous devez supprimer l’espace au début de cette ligne.

Maintenant, lorsque vous exécutez Flake8, vous obtiendrez les avertissements suivants.

Cette sortie indique les problèmes suivants :

  • À la ligne 4, il devrait y avoir deux lignes vides après la définition de la fonction greeting, mais il n’y en a qu’une.
  • À la ligne 5, il devrait y avoir une nouvelle ligne à la fin du fichier.
Voir aussi :  Comment écrire ou imprimer dans un fichier en Python

Une fois ces problèmes résolus, flake8 ne devrait plus renvoyer de messages.

Jusqu’à présent, nous n’avons analysé qu’un seul fichier, mais dans la plupart des cas, vous voudrez analyser plusieurs fichiers.

Exécution de Flake8 sur plusieurs fichiers

Supposons que vous ayez un autre fichier appelé test_greeting.py qui contient le code suivant :

Pour analyser ces deux fichiers, exécutez la commande suivante.

Cette méthode fonctionne, mais si vous avez plus de deux fichiers, la saisie des noms de fichiers peut s’avérer fastidieuse et source d’erreurs.

Il est plus efficace d’utiliser la commande suivante pour analyser tous les fichiers du répertoire actuel :

Comprendre les erreurs et les avertissements de Flake8

Flake8 signale deux types de problèmes :

  • Erreurs : Une erreur indique un problème de syntaxe ou de structure qui empêche votre code de fonctionner, comme l’erreur d’indentation dans l’exemple greeting.py.
  • Avertissements : Un avertissement indique un problème potentiel ou une violation des directives de style PEP 8, comme l’avertissement « no newline at end of file » (pas de nouvelle ligne à la fin du fichier) dans l’exemple greeting.py.

Voici quelques-unes des erreurs et des avertissements les plus courants :

  • E101 : l’indentation contient un mélange d’espaces et de tabulations.
  • E302 : attendu 2 lignes vides, trouvé 0.
  • E999 IndentationError : indentation inattendue.
  • W291 : espace blanc à la fin du texte.
  • E501 : ligne trop longue (maximum 79 caractères).
  • F401 : module importé mais non utilisé.

Lorsque vous exécutez Flake8, il affiche un message tel que celui présenté ci-dessus, ainsi que le numéro de ligne et l’emplacement du code auxquels le message fait référence. Cela vous aide à savoir exactement où votre code a des problèmes, ce qui vous permet de gagner du temps lors du débogage.

Configuration de Flake8

Pour certains projets, les règles de Flake8 peuvent être trop rigides. Dans ce cas, Flake8 vous permet de le configurer et d’adapter son comportement à vos besoins.

Voir aussi :  Node.js : faut-il utiliser les dépendances ou DevDependencies ?

Vous pouvez fournir des options de configuration telles que :

  • Ignorer des erreurs ou des avertissements spécifiques.
  • Définir la longueur maximale des lignes.
  • Spécifier des règles supplémentaires.

Pour la démonstration, créez un fichier de configuration nommé setup.cfg. Vous pouvez également ajouter les options de configuration à un fichier nommé tox.ini, ou .flake8.

Dans ce fichier, commencez par créer une section flake8 comme suit :

Ajoutez ensuite les options que vous souhaitez configurer :

Dans cet exemple, max-line-length = 100 indique à Flake8 d’émettre des avertissements pour toute ligne de vos fichiers de code source dont la longueur dépasse 100 caractères. ignore = F401 indique à Flake8 d’ignorer les erreurs liées aux importations non utilisées.

Vous n’avez pas besoin d’ajouter ces options à un fichier de configuration car vous pouvez les spécifier sur la ligne de commande comme suit :

L’utilisation d’un fichier de configuration est la meilleure approche car vous n’avez pas besoin de spécifier les mêmes options à chaque fois que vous utilisez flake8.

Utilisation de Flake8 dans VS Code

Si vous utilisez VS Code pour écrire votre application Python, vous pouvez utiliser l’extension flake8 pour lester vos fichiers Python au fur et à mesure que vous les tapez.

Tout d’abord, vous devez installer l’extension flake8 à partir de la place de marché VS Code. Ensuite, pour la configurer, ouvrez les paramètres de VS Code, puis recherchez « python.linting.flake8Enabled » et activez le linting avec flake8.

Vous devriez maintenant voir les erreurs et les avertissements surlignés dans votre code avec une ligne sinueuse au fur et à mesure que vous l’écrivez. En survolant le texte surligné, vous verrez apparaître un message expliquant le problème et suggérant des solutions possibles.

D’autres IDE Python tels que Pycharm ont également des extensions Flake8 que vous pouvez configurer pour simplifier le processus d’établissement de la charpente.

Pourquoi utiliser un lining ?

Lorsque vous écrivez du code, vous pouvez introduire des erreurs et des incohérences qui entraînent l’échec de votre application ou des problèmes de performance. Un linter comme Flake8 vous permet de détecter certains de ces problèmes à l’avance, ce qui vous aide à écrire un code plus propre. Il est très important de l’intégrer dans votre flux de développement.

Voir aussi :  Comment créer de superbes panoramas avec Python et OpenCV

Vous pouvez le faire en l’utilisant dans votre éditeur de texte ou IDE et en l’intégrant dans votre pipeline d’intégration continue pour vérifier automatiquement votre code pour les erreurs et les avertissements avant de le fusionner dans votre branche principale.

S’abonner à notre newsletter

Comment utiliser flake8 en Python ?

Pour commencer à utiliser Flake8, ouvrez un shell interactif et exécutez :

  • flake8 path/to/code/to/check. py # ou flake8 path/to/code/check. py # ou flake8 path/to/code/check. py #.
  • flake8 –select E123,W503 path/to/code/ Alternativement, si vous voulez ajouter un avertissement ou une erreur spécifique à ignorer :
  • flake8 –extend-ignore E203,W234 path/to/code/

Que fait flake8 en Python ?

Flake8 est un outil de linting Python qui vérifie votre base de code Python pour les erreurs, les problèmes de style et la complexité. La bibliothèque Flake8 est construite sur 3 outils : PyFlakes – vérifie votre base de code Python pour les erreurs. McCabe – vérifie la complexité de votre base de code Python.

Comment utiliser flake8 dans PyCharm ?

Utilisation

  • Localisez le fichier flake8_pycharm.py dans votre environnement python (sous linux utilisez la commande qui flake8_pycharm.py )
  • Dans Pycharm, allez dans File -> Settings -> Pylint (Si vous ne le trouvez pas, allez dans Settings -> Plugins et installez le plugin pylint)
  • Dans « Path to Pylint executable », indiquez le chemin vers le script « flake8_pycharm.py ».

Qu’est-ce que flake8 et black en Python ?

Introduction. Ceci est un plugin flake8 sous licence MIT pour valider le style de code Python avec l’outil de formatage de code en ligne de commande black. Il est disponible à l’installation depuis le Python Package Index (PyPI).

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *