Programmation Python/Analyse statique de programmes
Python offre plusieurs outils d'analyse statique de programmes.
pylint
[modifier | modifier le wikicode]Cet analyseur de code statique vérifie les potentiels erreurs (ex : variable non déclarée) et le formatage du code pour le rendre plus lisible par les humains[1].
Installation :
apt install pylint
Lancement de l'analyse, qui donne une note sur 10 :
pylint $(git ls-files '*.py')
flake8
[modifier | modifier le wikicode]Idem[2].
Installation :
pip install flake8
Lancement :
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
autopep8
[modifier | modifier le wikicode]Utilitaire de formatage du code selon la norme https://peps.python.org/pep-0008/.
Installation :
pip install autopep8
Lancement du reformatage d'un fichier :
autopep8 --in-place --aggressive mon_fichier.py
Lancement du reformatage du dossier courant récursivement :
find . -name '*.py' -exec autopep8 --in-place '{}' \;:
Sourcery
[modifier | modifier le wikicode]Il s'agit d'un outil avec deux composants :
- Un plugin de PyCharm pour suggérer des améliorations en cours de frappe.
- Un scanner en ligne de commande capable de corriger les erreurs lui-même.
Installation
[modifier | modifier le wikicode]pip install sourcery
Puis dans la racine du programme :
sourcery init
Cela crée un .sourcery.yaml permettant d'ajuster la configuration du scanner, par exemple pour ignorer certaines recommandations ou certains fichiers.
Utilisation
[modifier | modifier le wikicode]Pour scanner :
sourcery review .
Pour scanner et modifier un seul fichier :
sourcery review ./mon_fichier.py --fix