SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
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




    Peu de couverture par les tests unitaires




    Absence de commentaires




    Beaucoup de bugs potentiels




    Complexité par composant importante




    Design spaghetti

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 : 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

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
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 javadoc
    Ratio de classes/interfaces publiques avec



    javadoc
    Densité de commentaire

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
Complexité trop élevée (6/7)
JavaNCSS
Design spaghetti (7/7)
?

    Les produits références du marché



        XDepend
    


        SonarJ
    


        Structure101
    



    Quelques librairies



        JDepend
    


        Architecture Rules
    


        Macker
    
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
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




    ...

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é

Une demo vaut mieux qu'un long sermon
Questions & Réponses
& confessions




                Merci
            http://sonar.codehaus.org
           http://www.sonarsource.com

Mais conteúdo relacionado

Semelhante a Sonar devant le Java User Group de Lausanne

Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
ElsassJUG
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
Ombotimbe Salifou
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
Gregory Boissinot
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
Loïc Descotte
 

Semelhante a Sonar devant le Java User Group de Lausanne (20)

Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy Mallet
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG Genève
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Session GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraSession GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 Cobra
 
Soda sotm fr-2013_02_24
Soda sotm fr-2013_02_24Soda sotm fr-2013_02_24
Soda sotm fr-2013_02_24
 
Soda sotm fr-2013_02_24
Soda sotm fr-2013_02_24Soda sotm fr-2013_02_24
Soda sotm fr-2013_02_24
 
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdfdevoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
devoxx 2022 - 10 ans de Devoxx FR et de Java.pdf
 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Wygday 2008
Wygday 2008Wygday 2008
Wygday 2008
 
LyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdfLyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdf
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
 
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
 

Sonar devant le Java User Group de Lausanne

  • 1. Sonar au JUGL Freddy Mallet http://sonar.codehaus.org Le 2 Avril 2009
  • 2. Les 7 péchés capitaux ...
  • 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. La mission divine de Sonar Lutter contre l'axe du mal ... car le code source le vaut bien !
  • 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. 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. Aucune conventions de codage (1/7) Checkstyle et PMD
  • 8. Beaucoup de duplications (2/7) PMD - CPD
  • 9. Peu de couverture par les tests (3/7) Junit, TestNG, Surfire, Clover, Cobertura
  • 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. 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. Complexité trop élevée (6/7) JavaNCSS
  • 13. Design spaghetti (7/7) ? Les produits références du marché  XDepend  SonarJ  Structure101  Quelques librairies  JDepend  Architecture Rules  Macker 
  • 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. 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. 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. Une demo vaut mieux qu'un long sermon
  • 18. Questions & Réponses & confessions Merci http://sonar.codehaus.org http://www.sonarsource.com