Sun 30 September 2012
By Mathieu Agopian
• Tags:
flake8
mccabe
pep8
pyflakes
python
syntax
vim
Toi, ami développeur Python, j'espère que tu connais déjà flake8. Flake8 te
permet de valider en une seule fois que ton code Python est propre au regard de
pep8 et de pyflakes.
Si tu ne connais aucun des trois programmes que je viens de nommer, et que tu
n'utilise pas non plus pylint, je pense qu'il est temps pour toi d'arrêter de
lire cet article, et de te documenter. Au plus vite. Non, en fait, maintenant,
là, tout de suite.
Pour les têtes dures, ces utilitaires permettent de valider que le code est
compatible avec la pep 0008, qu'il n'y a pas d'erreur de syntaxe, d'import
ou de variable inutilisés, etc...
Ils permettent donc d'être sûrs de la qualité de la mise en forme du code (et
malheureusement pas de la qualité du code lui-même). Si quelqu'un connaît un
outil qui permette de faire ça, je suis preneur : il y a bien l'indice de
complexité de McCabe (qui peut être fournie par flake8), mais il ne
permet pas de mesurer la qualité totale d'un code. J'imagine que c'est trop
subjectif pour être mesuré objectivement.
Je suis trop fainéant
C'est très bien, d'être fainéant. Être fainéant, c'est vouloir se simplifier la
vie, en obtenir plus en travaillant moins, c'est un noble but.
Et je dois avouer que lancer à la main pep8 puis pyflakes (j'utilisais
en fait déjà un plugin Vim pour pyflakes) régulièrement, puis retourner sur
le code qu'on pensait avoir fini pour le nettoyer, retrouver la ligne
correspondante à chaque erreur, c'était fastidieux.
Flake8 permet de récupérer les erreurs de pep8 et de pyflakes en une
seule fois, ce qui est déjà une amélioration. Mais ce n'est pas suffisant, il
reste toujours à le lancer manuellement...
Syntastic à notre secours
C'est là qu'intervient notre sauveur : syntastic.
Il s'installe en un tournemain avec pathogen, que vous devriez utiliser (non,
ce n'est pas un conseil, c'est un ordre).
La doc d'installation de syntastic est limpide, et si vous avez flake8
installé, vous n'avez rien d'autre à faire ! En fait, syntastic va
utiliser le premier exécutable qu'il trouve parmi flake8, pyflakes et
pylint.
Une fois syntastic installé, à chaque sauvegarde de votre fichier, vous
verrez une marque apparaître dans la marge de gauche pour chaque violation de
règle de formatage.
Il n'y a donc plus aucune raison pour ne pas valider ton code ! Fais toi une
faveur, ainsi qu'à ceux qui devront relire ta prose.