Qualité de code, sonar, la dette
Upcoming SlideShare
Loading in...5
×
 

Qualité de code, sonar, la dette

on

  • 2,684 vues

 

Statistics

Vues

Total Views
2,684
Views on SlideShare
1,227
Embed Views
1,457

Actions

Likes
0
Downloads
15
Comments
0

5 Ajouts 1,457

http://blog.novencia.com 1443
http://www.novencia.com 8
https://www.google.tn 3
http://vps47969.ovh.net 2
http://translate.googleusercontent.com 1

Accessibilité

Catégories

Détails de l'import

Uploaded via as Adobe PDF

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

Qualité de code, sonar, la dette Qualité de code, sonar, la dette Presentation Transcript

  • Qualité de code, Sonar, La dette technique et SQALE en 5 minutes Mikael KROCK
  • L’ ère des développeurs barbus enfermés dans une pièce noire travaillant seuls est maintenant révolue. Nous travaillons dans une industrie ou nous façonnons un produit : notre logiciel. Il est composé de multiples parties – le code source, il est assemblé et testé au moyens de divers outils – IDE, mails, intégration continue - et pour faire cela nous utilisons plusieurs systèmes de production – Test Driven Development, Scrum, Lean. Dans cette optique-là, nous faisons attention à la qualité de notre code source pour que notre produit fini soit de meilleure qualité possible. Pour mesurer la qualité du code nous avons en premier lieu, besoin de créer des indicateurs (nombre de lignes de code, nombre de commentaires, taux de couverture de code.) En second lieu, nous avons besoin dun outil analysant et synthétisant ces indicateurs. Sonar nous permet de faire cela de manière assez intuitives et ergonomique.08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 2
  • Sonar Sonar est une plateforme de gestion de qualité du code source. Elle permet de régler des indicateurs de qualité, de gérer plusieurs projets, danalyser le code source et dafficher des tableaux de bords personnalisés. Sonar est hautement configurable et grâce à un système de plugins (libre, gratuit ou payant), il est possible de personnaliser loutil par rapport à son besoin. Pour aller plus loin : • http://www.sonarsource.org/ • quelques screencasts http://www.sonarsource.org/screencasts/ Sonar source in action08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 3
  • Dette technique La dette technique est une néologie associant le concept de dette financière au monde du développement logiciel. On dit que si on livre une fonctionnalité contenant un défaut on a une dette envers le client. Plus on attend pour la corriger plus l’intervention sera difficile. Une analogie est fait avec les intérêts d’une dette financière avec le risque de ne plus pouvoir payer la somme initiale mais juste devoir rembourser les intérêts. La dette technique est constituée par la somme des travaux requis pour corriger les défauts de l’application (maintenance évolutive ou corrective). Par analogie avec la dette financière, plus on attend pour rembourser la dette plus les intérêts coutent cher. A partir d’un certain temps, la dette n’est pas remboursable, on ne fait que payer les intérêts. Il est possible de catégoriser la dette en 2 catégories : Dette technique intentionnelle Souvent du respect des délais et cout de réalisation qui sont bien souvent en opposition par rapport à la qualité.08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 4
  • Dette technique non intentionnelleC’est ce qui génère de la maintenance (fonctionnalité non comprise ou non livrée ou bug).Ces dettes techniques peuvent être assumées ou non.A quoi sert la dette technique ?La dette technique est donc un concept permettant d’avoir un cout de remédiation pouvantêtre comparé entre projets et pouvant être communiquer aux supérieurs ou aux personnesen charges des budgets.Les catégories communes de dette technique :- Pression du business- Manque de process- Manque d’implication- Manque de tests- Manque de documentation- Peu de collaboration / synchronisation- Développement parallèle- Refactorisation du code repousséePour aller plus loin :• Larticle de Bastien Jaillot sur la dette technique• Maitrisez votre dette technique avec Xebia08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5
  • Comment mesurer cette dette technique ?Il existe plusieurs moyen de détecter et de mesurer la dette technique.Il existe un plugin Sonar de base qui calcule des prémisses de cout de remédiation.Une entreprise français a développé une méthode propre au calcul de la dette technique,la méthode SQALE (méthode sous licence Creative Commons).Calcul de dette techniqueUn plugin de base existe pour Sonar, il calcule le cout de remédiation grâce à la formulesuivante :Debt(in man days) =• cost_to_fix_duplications +• cost_to_fix_violations +• cost_to_comment_public_API +• cost_to_fix_uncovered_complexity +• cost_to_bring_complexity_below_threshold +• cost_to_cut_cycles_at_package_levelPour aller plus loin :• http://docs.codehaus.org/display/SONAR/Technical+Debt+Calculation08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6
  • SQALE(Software Quality Assessment based on Lifecycle Expectations) SQALE est une méthode de calcul de dette technique. Lidée générale derrière SQALE est de donner un coût de remédiation par sujet générateur de dette technique. Parmi les principes de base, SQALE indique que la qualité du code source est une exigence technique au même titre que, par exemple, la vitesse de chargement dun écran. Cest donc une exigence quantifiable, mesurable et comparable. Par exigence on entend par exemple, le nombre de ligne dans une méthode, le nombre dimbrication if, le nombre de ligne de commentaire. SQALE se décompose en 5 étapes consécutives 1. Modèle qualité: décrit les indicateurs 2. Modèle danalyse 1 - Les fonctions de remédiations : que faire quand lindicateur nest pas bon 3. Modèle danalyse 2 - Les cout de remédiation : combien coute une remédiation 4. Indices : répartition des données suivants des indices SQALE (Testabilité, maintenabilité, portabilité,etc..) 5. Agrégation et tableau de bord.08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 7
  • SQALE propose un plugin pour analyser et calculer le cout de remédiation à laide de laplateforme Sonar : Pour aller plus loin : •http://fr.wikipedia.org/wiki/SQALE •http://www.sonarsource.com/products /plugins/governance/sqale/08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 8
  • Conclusion Cette première approche des concepts de dette techniques et de SQALE montrent que les outils damélioration de qualité sont prêts et sont ergonomiques. A nous de plonger la dedans pour nous aider à améliorer notre production. Vous pouvez également jeter un œil à la présentation de ces concepts par l’équipe de SonarSource . Have fun!08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 9