Qualite

CNES Pylint Extension

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

QUALITE

Type de licence

Open source

Langage de programmation

Python

Système d'exploitation

n

contact image

Une question à propos de l'outil CNES Pylint Extension ?

N'hésitez pas à nous contacter ! Nous sommes là pour vous aider.

Contact

Restezconnectés

Recevez les dernières actualités de CNES Pylint Extension