Geneva JUG le 23 Février 2010



              La chasse aux
              7 péchés capitaux
              peut commencer
...
Une époque est révolue
Le savant génial
Capitaine Flam est parmi nous




Au fin fond de l'Univers, à des années
et des années-lumière de la Terre,
Veille celui q...
C'est mon jouet !
La peur du changement…
Quand l'industrialisation s'en mêle

                  Projet géré sous contrôleur
                   de version
        ...
Quel est notre mission ?




                 ?
Faire du neuf avec du vieux
Tout est maintenance évolutive !



           Création
       d'une application




    Maintenance
 D'une l'application
Une époque est révolue
Développer pour les autres
Méthodologie
Transparence
Les outils évoluent tout comme nous




       Makefile          Gestionnaire         Intégration       Tests unitaires
  ...
Inspection Continue




      « A well-written program is a program 
     where the cost of implementing a feature
 is con...
Comment la mesurer cette qualité ?
La dette technique
Les 7 péchés capitaux
Du développeur




                         Péchés



                          Dette
              ...
Les 7 péchés capitaux ?
Appliqués au code source

   ?
   ?
   ?
   ?
   ?
   ?
   ?
Code dupliqué

   Que choisir entre la peste et le choléra ?
Mauvaise distribution de la complexité

   Vaut-il mieux :
       1 méthode d'une complexité de 30
    
        10 méth...
Mauvais design

   Quel package/classe est responsable de quoi ?
Bugs potentiels



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


 Sun java : JDK1.6.0, b105,
 sun.awt.x11.XMS...
Peu ou pas d'utilisation des tests unitaires

   Merci d'ajouter un
    nouveau cas et
    d'éviter toute
    régression ...
Non respect des standards
Pas ou trop de commentaires
Les 7 péchés capitaux
Appliqués au code source

   Mauvaise distribution de la complexité
   Code dupliqué
   Mauvais d...
La mission de Sonar




Permettre de déclarer ouverte la
         chasse aux
      7 péchés capitaux
La mission de Sonar
Ou plus sérieusement




Permettre à tous d'augmenter la
   capacité à faire du neuf
        avec du v...
Sonar à coeur ouvert

                   Sonar Maven Plugin
                    Sonar Maven Plugin
 Source
  Source
      ...
Une demo
D'une plateforme à un écosystème

   35 plugins
   Intégration avec Hudson, Bamboo, Anthillpro,
    Jira, SonarJ, Struct...
Pour (re)trouver le droit chemin
Questions & Réponses




           Merci
       http://sonar.codehaus.org
      http://www.sonarsource.com
Upcoming SlideShare
Loading in...5
×

Sonar 2.0 au GenevaJUG par Freddy Mallet

2,309

Published on

Slides de la présentation de Sonar 2.0 sur les 7 péchés capitaux au GenevaJUG le 23 février 2010.

La sortie de la version 2.0 de la plateforme Open Source Sonar est l'occasion de revenir et d'échanger sur l'un des plus jeunes métier du monde: Développeur logiciel. Après de nombreuses générations d'autodidactes, de passionnés, qu'est qu'être développeur professionnel aujourd'hui, quels sont nos responsabilités et nos défis ?

Le principal héritage légué par un développeur et plus globalement par une équipe de développement est son code source. La principale qualité attendue d'un code source est est sa capacité à permettre d'accueillir le changement à moindre coût. Quels sont donc les critères d'évaluation de cette qualité du code source ?

Présentation faite par Freddy Mallet

www.sonarsource.com
www.genevajug.ch

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,309
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
96
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Sonar 2.0 au GenevaJUG par Freddy Mallet

  1. 1. Geneva JUG le 23 Février 2010 La chasse aux 7 péchés capitaux peut commencer Par Freddy Mallet freddy.mallet@sonarsource.com
  2. 2. Une époque est révolue
  3. 3. Le savant génial
  4. 4. Capitaine Flam est parmi nous Au fin fond de l'Univers, à des années et des années-lumière de la Terre, Veille celui que le gouvernement intersidéral appelle quand il n'est plus Capable de trouver une solution à ses problèmes, quand il ne reste plus Aucun espoir : le Capitaine FLAM !
  5. 5. C'est mon jouet !
  6. 6. La peur du changement…
  7. 7. Quand l'industrialisation s'en mêle  Projet géré sous contrôleur de version  Projet sous intégration continue  Projet avec traçabilité technique / fonctionnelle
  8. 8. Quel est notre mission ? ?
  9. 9. Faire du neuf avec du vieux
  10. 10. Tout est maintenance évolutive ! Création d'une application Maintenance D'une l'application
  11. 11. Une époque est révolue
  12. 12. Développer pour les autres
  13. 13. Méthodologie
  14. 14. Transparence
  15. 15. Les outils évoluent tout comme nous Makefile Gestionnaire Intégration Tests unitaires de projet technique Continue VI / Emacs Gestionnaire Gestionnaire Refactoring Inspection de source de tickets depuis l'IDE Continue
  16. 16. Inspection Continue « A well-written program is a program  where the cost of implementing a feature is constant throughout the program's lifetime. » Itay Maman
  17. 17. Comment la mesurer cette qualité ?
  18. 18. La dette technique
  19. 19. Les 7 péchés capitaux Du développeur Péchés Dette technique
  20. 20. Les 7 péchés capitaux ? Appliqués au code source  ?  ?  ?  ?  ?  ?  ?
  21. 21. Code dupliqué  Que choisir entre la peste et le choléra ?
  22. 22. Mauvaise distribution de la complexité  Vaut-il mieux :  1 méthode d'une complexité de 30  10 méthodes d'une complexité de 3
  23. 23. Mauvais design  Quel package/classe est responsable de quoi ?
  24. 24. Bugs potentiels if (listeners == null) listeners.remove(listener); Sun java : JDK1.6.0, b105, sun.awt.x11.XMSelection lines 243-244
  25. 25. Peu ou pas d'utilisation des tests unitaires  Merci d'ajouter un nouveau cas et d'éviter toute régression bien évidemment.
  26. 26. Non respect des standards
  27. 27. Pas ou trop de commentaires
  28. 28. Les 7 péchés capitaux Appliqués au code source  Mauvaise distribution de la complexité  Code dupliqué  Mauvais design  Existence de bugs potentiels  Mauvaise couverture par les tests unitaires, ...  Non respect des standards de programmation  Pas ou trop de commentaires
  29. 29. La mission de Sonar Permettre de déclarer ouverte la chasse aux 7 péchés capitaux
  30. 30. La mission de Sonar Ou plus sérieusement Permettre à tous d'augmenter la capacité à faire du neuf avec du vieux
  31. 31. Sonar à coeur ouvert Sonar Maven Plugin Sonar Maven Plugin Source Source Cobertura Squid Surefire Code Code 1 PMD Checkstyle Findbugs Changelog 1- mvn sonar 2 3 Sonar web interface Sonar web interface 5 Sonar DB 2- http://sonar 4 Aggregator Aggregator & Analyser & Analyser
  32. 32. Une demo
  33. 33. D'une plateforme à un écosystème  35 plugins  Intégration avec Hudson, Bamboo, Anthillpro, Jira, SonarJ, Structure101  Sonar IDE (Evgeny Mandrikov)  IDEA, Eclipse (, Netbeans)  Gestion de la sécurité  Couverture de nouveaux langages en cours  ...
  34. 34. Pour (re)trouver le droit chemin
  35. 35. Questions & Réponses Merci http://sonar.codehaus.org http://www.sonarsource.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×