Sonar - Freddy Mallet - April 2009

415 vues

Publié le

Sonar - Freddy Mallet - April 2009

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
415
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Sonar - Freddy Mallet - April 2009

  1. 1. Sonar au JUGL Freddy Mallet http://sonar.codehaus.org Le 2 Avril 2009
  2. 2. Les 7 péchés capitaux ...
  3. 3. Les 7 péchés capitaux ... Appliqués au code source  Aucune convention de codage  Beaucoup de duplications  Peu de couverture par les tests unitaires  Absence de commentaires  Beaucoup de bugs potentiels  Complexité par composant importante  Design spaghetti
  4. 4. La mission divine de Sonar Lutter contre l'axe du mal ... car le code source le vaut bien !
  5. 5. Niveau d'armement actuel 5/7, les infidèles n'ont qu'à bien se tenir  OK : Aucune convention de codage  OK : Beaucoup de duplications  OK : Peu de couverture par les tests unitaires  KO : Absence de commentaires  OK : Beaucoup de bugs potentiels  OK : Complexité par composants importante  KO : Design spaghetti
  6. 6. Rappel de bon sens Un projet de qualité est :     Un projet géré sous contrôleur de version Un projet qui compile (Intégration continue) Un projet avec une traçabilité technique / fonctionnelle Un projet qui n'a pas succombé à l'un des 7 péchés capitaux
  7. 7. Aucune conventions de codage (1/7) Checkstyle et PMD
  8. 8. Beaucoup de duplications (2/7) PMD - CPD
  9. 9. Peu de couverture par les tests (3/7) Junit, TestNG, Surfire, Clover, Cobertura
  10. 10. Absence de commentaires (4/7) JavaNCSS 2 est en route    Ratio de méthode publiques hors setter/getter avec javadoc Ratio de classes/interfaces publiques avec javadoc Densité de commentaire
  11. 11. Beaucoup de bugs potentiels (5/7) Findbugs if (listeners == null) listeners.remove(listener); Sun java : JDK1.6.0, b105, sun.awt.x11.XMSelection lines 243-244
  12. 12. Complexité trop élevée (6/7) JavaNCSS
  13. 13. Design spaghetti (7/7) ?  Les produits références du marché   SonarJ   XDepend Structure101 Quelques librairies  JDepend  Architecture Rules  Macker
  14. 14. Sonar à coeur ouvert Sonar Maven Plugin Source Code Cobertura 1 JavaNCSS Surefire PMD Checkstyle Changelog Changelog XML Files Sonar DB 4 Aggregator & Analyser 5 1- mvn sonar 2- http://sonar 2 3 Sonar web interface
  15. 15. De quoi demain sera fait ?  Agrégation des projets techniques par application, service, département...  Ré-écriture de JavaNCSS  Amélioration du moteur de règles  Couverture de PHP  Mécanismes de gestion des autorisations  ...
  16. 16. Les atouts  Facilité de mise en oeuvre : mvn org.codehaus.sonar:sonar-maven-plugin:1.7:sonar    Vue consolidée sur l'ensemble du parc applicatif Suivi temporel des indicateurs Gestion centralisée de la qualité (règles, seuils)  Client web  Activité de la communauté
  17. 17. Une demo vaut mieux qu'un long sermon
  18. 18. Questions & Réponses & confessions Merci http://sonar.codehaus.org http://www.sonarsource.com

×