View
2.210
Download
1
Category
Preview:
DESCRIPTION
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
Citation preview
La chasse aux 7 péchés capitauxpeut commencer
Par Freddy Malletfreddy.mallet@sonarsource.com
Geneva JUG le 23 Février 2010
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 que le gouvernement intersidéral appelle quand il n'est plusCapable de trouver une solution à ses problèmes, quand il ne reste plusAucun espoir :
le Capitaine FLAM !
C'est mon jouet !
La peur du changement…
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
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
Gestionnairede source
Gestionnairede projet technique
Gestionnairede tickets
IntégrationContinue
Refactoringdepuis l'IDE
VI / Emacs
Tests unitaires
InspectionContinue
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
Comment la mesurer cette qualité ?
La dette technique
Les 7 péchés capitauxDu développeur
Péchés
Dette technique
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éthodes d'une complexité de 3
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.XMSelection lines 243-244
Peu ou pas d'utilisation des tests unitaires
Merci d'ajouter un nouveau cas et d'éviter toute régression bien évidemment.
Non respect des standards
Pas ou trop de commentaires
Les 7 péchés capitauxAppliqué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
La mission de Sonar
Permettre de déclarer ouverte la chasse aux
7 péchés capitaux
La mission de Sonar
Permettre à tous d'augmenter la capacité à faire du neuf
avec du vieux
Ou plus sérieusement
Sonar à coeur ouvert
SourceCode
SourceCode
Sonar Maven Plugin Sonar Maven Plugin
Checkstyle
Squid SurefireCobertura
PMD ChangelogFindbugs
SonarDB
Sonar web interfaceSonar web interface
Aggregator& Analyser
Aggregator& Analyser
1
23
5
1 - mvn sonar
2 - http://sonar4
Une demo
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 ...
Pour (re)trouver le droit chemin
Questions & Réponses
Merci http://sonar.codehaus.org
http://www.sonarsource.com
Recommended