Qu’est-ce que la qualité ?
• Du point de vue de l’organisation
technique.
– La qualité implique la définition et le
respect de normes de développement qui
assurent une uniformité du code source
• Un code de qualité assure la pérennité, la
diffusion et la maintenabilité du projet.
Comment se mesure la
qualité ?
• Sur quels critères peut-on se baser
pour analyser la qualité du code ?
– Lisibilité du code
– Uniformité des conventions
• De nommage (variables, méthodes, classes,
packages)
• D’indentation
• D’organisation (répertoires du projet)
• De documentation (commentaires, JavaDoc)
– Couplage minimum (modules
indépendants)
– Complexité cyclomatique miminum
– Taux de commentaires (JavaDoc)
Démarche qualité
• Objectif : introduire des démarches de
contrôle qualité au niveau du code
source
– On passe de plus en plus par des
automates
• Tous les outils présentés sont utilisable
à la fois avec ANT et Maven ou
directement avec Eclipse pour la
plupart
JAVA
Règles de codage
• Pour Java:
– "Coding Conventions for the Java
Programming Language" - Sun
Microsystems
– "Elements of Java Style" - Alan
Vermeulen (eds.)
Outils de vérification de
code
• PMD (SourceForge project)
• CheckStyle (SourceForge project)
• JTest (Parasoft => payant)
• Jdepend
• FindBugs
• JCSC
• Macker
• Jlint
• Classycle
• QALab
• XRadar
PMD
Que signifie PMD ?
• Pretty Much Done
• Project Mess Detector
• Project Monitoring Directives
• Project Meets Deadline
• Programming Mistake Detector
• Pounds Mistakes Dead
• PMD Meaning Discovery (recursion, hooray!)
• Programs of Mass Destruction
• Programming Meticulous coDe
• Plutôt bien fait
• Détecteur de désordre pour projet
• Surveillant des directives de projet
• Le projet rencontre la date-limite
• Détecteur d'erreur de programmation
• Livres d'erreurs mortes ??
• Découverte de la signification de PMD
• Programmes de destruction de masse
• Code de programmation méticuleux
PMD (1)
• PMD est un outil qui parcourt les
sources java et fournit des remarques
intéressantes sur le code Java.
– Développé en Java
• Il permet d’indiquer d'éventuels
problèmes comme:
– Variables locales non utilisées (Eclipse
possède également cette fonctionnalité)
– Des blocs catch vides
– Des paramètres inutilisés (Eclipse possède
également cette fonctionnalité)
– Des instructions 'if' vides
PMD (2)
– Des instructions import en double (deux
fois la même classe, ou l'import d'une
classe appartenant à un paquetage déjà
importé) (Eclipse possède également cette
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!