Sonar 2.0 au GenevaJUG par Freddy Mallet

2,998 views
2,898 views

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,998
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
98
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

×