sonar - freddy mallet - april 2009
DESCRIPTION
Sonar - Freddy Mallet - April 2009TRANSCRIPT
![Page 1: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/1.jpg)
Sonar au JUGL
Freddy Mallethttp://sonar.codehaus.org
Le 2 Avril 2009
![Page 2: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/2.jpg)
Les 7 péchés capitaux ...
![Page 3: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/3.jpg)
Les 7 péchés capitaux ...
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
Appliqués au code source
![Page 4: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/4.jpg)
La mission divine de Sonar Lutter contre l'axe du mal ... car le code source le vaut bien !
![Page 5: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/5.jpg)
Niveau d'armement actuel
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
5/7, les infidèles n'ont qu'à bien se tenir
![Page 6: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/6.jpg)
Rappel de bon sens
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
Un projet de qualité est :
![Page 7: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/7.jpg)
Aucune conventions de codage (1/7)Checkstyle et PMD
![Page 8: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/8.jpg)
Beaucoup de duplications (2/7)PMD - CPD
![Page 9: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/9.jpg)
Peu de couverture par les tests (3/7)Junit, TestNG, Surfire, Clover, Cobertura
![Page 10: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/10.jpg)
Absence de commentaires (4/7)
Ratio de méthode publiques hors setter/getter avec javadoc
Ratio de classes/interfaces publiques avec javadoc
Densité de commentaire
JavaNCSS 2 est en route
![Page 11: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/11.jpg)
Beaucoup de bugs potentiels (5/7)
if (listeners == null) listeners.remove(listener);
Sun java : JDK1.6.0, b105, sun.awt.x11.XMSelection lines 243-244
Findbugs
![Page 12: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/12.jpg)
Complexité trop élevée (6/7)JavaNCSS
![Page 13: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/13.jpg)
Design spaghetti (7/7)
Les produits références du marché XDepend SonarJ Structure101
Quelques librairies JDepend Architecture Rules Macker
?
![Page 14: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/14.jpg)
Sonar à coeur ouvert
SourceCode
Sonar Maven Plugin
Checkstyle
JavaNCSS SurefireCobertura
PMD ChangelogChangelog
XMLFiles
SonarDB
Sonar web interface
Aggregator& Analyser
1
2
3
5
1 - mvn sonar
2 - http://sonar4
![Page 15: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/15.jpg)
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 ...
![Page 16: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/16.jpg)
Les atouts
Facilité de mise en oeuvre :
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é
mvn org.codehaus.sonar:sonar-maven-plugin:1.7:sonar
![Page 17: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/17.jpg)
Une demo vaut mieux qu'un long sermon
![Page 18: Sonar - Freddy Mallet - April 2009](https://reader034.vdocuments.us/reader034/viewer/2022052523/55621d63d8b42ad44d8b48a6/html5/thumbnails/18.jpg)
Questions & Réponses
Merci http://sonar.codehaus.org
http://www.sonarsource.com
& confessions