Sonar devant le Java User Group de Lausanne

1,445 views

Published on

Voici les planches (comme dirait un bon ami québécois) de ma présentation d'hier soir au JUG de Lausanne. Merci aux collaborateurs d'Octo pour l'organisation de cette soirée !

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,445
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Sonar devant le Java User Group de Lausanne

  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é  XDepend  SonarJ  Structure101  Quelques librairies  JDepend  Architecture Rules  Macker 
  14. 14. Sonar à coeur ouvert Sonar Maven Plugin Source Cobertura JavaNCSS Surefire 1- Code PMD Checkstyle Changelog mvn sonar Changelog 1 2 XML 3 Files Sonar web interface 5 Sonar 2- DB http://sonar 4 Aggregator & Analyser
  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

×