18
Sonar au JUGL Freddy Mallet http://sonar.codehaus.org Le 2 Avril 2009

Sonar - Freddy Mallet - April 2009

Embed Size (px)

DESCRIPTION

Sonar - Freddy Mallet - April 2009

Citation preview

Page 1: Sonar - Freddy Mallet - April 2009

Sonar au JUGL

Freddy Mallethttp://sonar.codehaus.org

Le 2 Avril 2009

Page 2: Sonar - Freddy Mallet - April 2009

Les 7 péchés capitaux ...

Page 3: Sonar - Freddy Mallet - April 2009

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

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

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

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

Aucune conventions de codage (1/7)Checkstyle et PMD

Page 8: Sonar - Freddy Mallet - April 2009

Beaucoup de duplications (2/7)PMD - CPD

Page 9: Sonar - Freddy Mallet - April 2009

Peu de couverture par les tests (3/7)Junit, TestNG, Surfire, Clover, Cobertura

Page 10: Sonar - Freddy Mallet - April 2009

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

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

Complexité trop élevée (6/7)JavaNCSS

Page 13: Sonar - Freddy Mallet - April 2009

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

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

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

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

Une demo vaut mieux qu'un long sermon

Page 18: Sonar - Freddy Mallet - April 2009

Questions & Réponses

Merci http://sonar.codehaus.org

http://www.sonarsource.com

& confessions