Sonar au JUGL




        Freddy Mallet
        http://sonar.codehaus.org

        Le 2 Avril 2009
Les 7 péchés capitaux ...
Les 7 péchés capitaux ...
Appliqués au code source

    Aucune convention de codage




    Beaucoup de duplications



...
La mission divine de Sonar
Lutter contre l'axe du mal ... car le code source le vaut bien !
Niveau d'armement actuel
5/7, les infidèles n'ont qu'à bien se tenir

    OK : Aucune convention de codage




    OK : B...
Rappel de bon sens
Un projet de qualité est :

    Un projet géré sous



    contrôleur de version
    Un projet qui com...
Aucune conventions de codage (1/7)
Checkstyle et PMD
Beaucoup de duplications (2/7)
PMD - CPD
Peu de couverture par les tests (3/7)
Junit, TestNG, Surfire, Clover, Cobertura
Absence de commentaires (4/7)
JavaNCSS 2 est en route

    Ratio de méthode publiques hors setter/getter



    avec java...
Beaucoup de bugs potentiels (5/7)
Findbugs


  if (listeners == null)
      listeners.remove(listener);


  Sun java : JDK...
Complexité trop élevée (6/7)
JavaNCSS
Design spaghetti (7/7)
?

    Les produits références du marché



        XDepend
    


        SonarJ
    


       ...
Sonar à coeur ouvert

                  Sonar Maven Plugin
 Source            Cobertura         JavaNCSS      Surefire

  ...
De quoi demain sera fait ?

    Agrégation des projets techniques par



    application, service, département...
    Ré-...
Les atouts

    Facilité de mise en oeuvre :


              mvn org.codehaus.sonar:sonar-maven-plugin:1.7:sonar


    Vu...
Une demo vaut mieux qu'un long sermon
Questions & Réponses
& confessions




                Merci
            http://sonar.codehaus.org
           http://www.s...
Prochain SlideShare
Chargement dans…5
×

Sonar devant le Java User Group de Lausanne

1 376 vues

Publié le

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 !

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

Aucun téléchargement
Vues
Nombre de vues
1 376
Sur SlideShare
0
Issues des intégrations
0
Intégrations
12
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

×