Pylint
Description
Fonctionnalités générales
PyLint est un analyseur de code Python à la recherche d'erreurs, de bugs et de mauvaises pratiques de programmation.
Autres fonctionnalités
- Convention de code : PyLint est fourni avec les conventions de code par défaut de Python (PEP8), mais il est possible d'en définir d'autres.
- Évaluation de la qualité du code : Pylint donne une note au code évalué en fonction des erreurs, ou des mauvaises pratiques de programmation décelées.
- La liste complète des fonctionnalités, ainsi que des tests effectués, sont disponibles sur le site de logilab.
Interopérabilité
- PyLint peut être intégré dans certains environnements de développent (IDE) comme Eclipse/PyDev.
- Il serait aussi intéressant d'intégrer les "lint-like" dans une plate-forme d'intégration continue comme par exemple Hudson ou Cruise Control pour tester la non-régression de la qualité du code.
Contexte d'utilisation dans mon laboratoire/service
- Python est multi-paradigme : script et procédural pour le prototypage mais pour faire du code réutilisable et maintenable (à long terme), la programmation objet est plus adaptée. PyLint est pour nous une aide précieuse pour valider la qualité du code (surtout le code objet).
- Par exemple, nous utilisons PyLint comme une aide pour faire des revues de code (code-review) et trouver les variables non initialisées (ou déclarées ailleurs que dans le constructeur de la classe), les typos, les "imports" non utilisés...
Limitations, difficultés, fonctionnalités importantes non couvertes
En complément des tests unitaires et tests d'exécution, PyLint est un bon complément pour le développeur en Python qui évite d'avoir à exécuter le programme pour se rendre compte que le code présente des erreurs de syntaxe ou de sémantique. Par contre, PyLint a les mêmes limites que l’interpréteur Python sous-jacent (les limites de l'introspection), il ne peut donc pas trouver les RunTimeError.