Qualité du code dans les projets Java
Référence : COQ
Durée : 2 jours (14 heures)
A l'heure où l'externalisation des développements fait beaucoup d'adeptes, il est crucial de pouvoir juger objectivement de la qualité du code livré et du bon respect des normes de développement internes garantes de la pérennité du logiciel. Encore faut-il connaître les meilleures pratiques et disposer d'outils pour les industrialiser.
Ce cours vous permettra de faire le point sur les bonnes pratiques de développement Java, de découvrir les métriques les plus utilisés ainsi que les outils Open Source nécessaires à la validation de la qualité du code. Il y sera bien sûr question de la place à accorder aux activités de test ou de l'importance du Refactoring.
Travaux pratiques :
Dans ce cours il vous sera demandé de reconcevoir des projets existant afin d'améliorer leurs critères qualités (performance, lisibilité, maintenabilité, évolutivité), sous la forme de travaux pratiques.
Dans un premier temps, vous porterez un regard critique basé sur vos acquis et votre expérience pour proposer des pistes d'améliorations ; puis vous intégrerez progressivement des outils d'analyse qualimétrique (PMD, JDepend, Checkstyle, Sonar, ...) afin d'objectiver sur vos observations.
Enfin, vous définirez pour chaque cas d'étude une stratégie d'optimisation et la mettrez en oeuvre en évaluant les gains obtenus.
Vous allez apprendre à :
- Estimer les surcoûts engendrés par la non-qualité
- Faire le point sur le langage Java, les bons principes de conception et l'optimisation du code
- Connaître les outils Open Source de qualimétrie du marché
- Choisir les métriques et indicateurs de qualité et de performances
- Comparer les différents types d'outils
- Comprendre les tests et leur couverture
- Savoir quelles pratiques sont mises en avant par les méthodes agiles
Méthode pédagogique :
40% de travaux pratiques
Audience :
Chefs de projets, responsables qualité, développeurs
Pré-requis :
- Connaissance de la programmation Java
Programme :
- Introduction à la qualité logicielle
- Problèmes de la non-qualité
- Qualité, normes et certification
- Qualité et pratiques agiles
- Responsabilités au sein des équipes
- Qualité appliquée au développement logiciel
- Java et la qualité
- Evolutions du langage
- Compilateur Javac
- IDE Eclipse
- Principes de conception
- Rôle des Design Patterns
- Points d'attention et réflexions
- Les outils et la qualité
- Principaux critères de qualité
- Frameworks d'automatisation (JUnit, TestNG, Fit, Selenium, Grinder, TPTP)
- PMD
- Checkstyle
- FindBugs
- Cobertura
- JDepend
- Autres outils
- Qualité et usine logicielle
- Composantes de l'usine logicielle
- Mise en oeuvre de l'intégration continue
- Intégration de rapports
- Métriques
- Sonar : gestion globale de la qualité
- Présentation
- Architecture
- Fonctionnalités
- Métriques
- Bonnes pratiques