CNES Pylint Extension est un ensemble de vérifications complémentaires de pylint permettant de couvrir davantage le standard des règles de codage Python CNES.
Cette extension permet de vérifier les règles suivantes :
- COM.FLOW.ExitLoop - Interdiction d'implémenter plus d'une sortie dans les boucles. - R5101 - multiple-exit-statements
- COM.DESIGN.Alloc - Préférer allouer et libérer les ressources dans le même niveau algorithmique. - R5106 - use-context-manager
- COM.MET.Complexity - Obligation de limiter le nombre cyclomatique McCabe en fonction de la classe logiciel : A : V(g) ≤ 10 B : V(g) ≤ 10 C : V(g) ≤ 15D : V(g) ≤ 25 - R5301 - too-high-complexity
- COM.MET.ComplexitySimplified - Obligation de limiter le nombre cyclomatique McCabe simplifié en fonction de la classe logiciel : A : Vs(g) ≤ 10 B : Vs(g) ≤ 10 C : Vs(g) ≤ 12 D : Vs(g) ≤ 20 - R5302 - too-high-complexity-simplified
- COM.MET.RatioComment - Obligation de respecter le ratio minimum de commentaire par rapport aux lignes de code en fonction de la classe logiciel : A : RComment ≥ 30% B : RComment ≥ 30% C : RComment ≥ 20% D : RComment ≥ 20% - R5201 - too-few-comments
- COM.FLOW.Abort - Interdiction d'arrêter brutalement un processus - R5401 - sys-exit-used
- COM.FLOW.FilePath - Obligation d'utiliser les moyens de paramétrage du langage pour accéder aux fichiers. - R5402 - os-environ-used
- COM.FLOW.ExitLoop - Interdiction d'implémenter plus d'une sortie dans les boucles. - R5101 - multiple-exit-statements
- COM.FLOW.Recursion - Interdiction d'utiliser la récursivité directe et indirecte - R5105 - recursive-call
- COM.FLOW.CheckArguments - Obligation de contrôler les paramètres passés à un programme - R5403 - sys-argv-used
- COM.INST.LoopCondition - Interdiction d'utiliser des expressions d'égalité ou de différence dans les conditions des boucles (utiliser les inégalités) - R5103 - bad-exit-condition
- PY.MET.Decorator - Éviter d’empiler plus de 5 décorateurs. - R5102 - too-many-decorators
- PY.NAME.Homonymy - Interdiction de nommer de la même manière un attribut « donnée » et un attribut « méthode », ou de nommer un attribut map, filter, apply, input et autres objects/fonctions Python - R5104 - builtin-name-used
Il existe deux versions, compatibles Pylint 1.5 et Pylint 1.6
Sources : https://github.com/lequal/cnes-pylint-extension
Issue Tracker : https://github.com/lequal/cnes-pylint-extension/issues
Releases : https://github.com/lequal/cnes-pylint-extension/releases
CNES Pylint Extension
Thématique
Type de licence
Open source
Langage de programmation
Python
Système d'exploitation
n
Une question à propos de l'outil CNES Pylint Extension ?
N'hésitez pas à nous contacter ! Nous sommes là pour vous aider.
Contact