2. Vincent Biret
Et ça fait 14 ans que je code, en commençant par du PHP3…
@baywet
bit.ly/vince365
MVP Office Servers and Services
Azure and Office 365 developer @ 2ToLead
4. Tout ceci participe à la définition de dette technique
Qu’est-ce que la dette technique?
•Du code avec lequel on n’est pas confortable
•Dont on s’occupera « plus tard »
•Qui nous empêche d’innover
•Nombreux appels de support
•Stressant pour l’équipe
8. Ce dont nous avons besoin
•Liste exhaustive des problèmes
•Gestion de ces derniers
•Stopper l’hémorragie
•Métriques claires compréhensibles par des non-
devs
12. Ou l’art de détecter les problèmes dans le code
L’analyse statique
13. L’analyse statique (selon wikipédia)
« couvre une variété de méthodes
utilisées pour obtenir des informations
sur le comportement d'un programme
lors de son exécution sans réellement
l'exécuter »
14. Intégrée: en direct ou presque quand on code, Centralisée: partie du pipeline
Types d’analyse statique
• Intégrée (à l’IDE)
• StyleCop (style analysis)
• FXCop
• .NET Analyzers
• Resharper
• Jshint/eslint/tslint…
• Centralisée
• SonarQube
• Kiuwan
15. Feedback rapide, pas possible de contourner, gestion centralisée
Hybride
•Analyse centralisée
•Analyse intégrée
•Même jeu de règles
17. Vue d’ensemble
•OpenSource (GitHub, GNU GPLv3)
•Développé en Java
•Supporté par une entreprise dédiée (2007)
•Supporte 30/40 langages (modèle d’extensions)
•Plateforme web
•S’intègre avec vos IDE et vos pipelines
20. Intégration
• Dot Net Pipeline
• Intégration dans Visual Studio avec SonarLint
• Intégration au pipeline avec des tâches dédiées
• TS/web pipeline
• Intégration dans vs code avec tslint, style lint…
• Intégration au pipeline avec une tâche dédiée (cli)
23. Conclusion
• Qualité du code augmentée
• Aide à la veille technique
• Qualité globale augmentée
• Performance
• Stabilité
• Gain/économie en $$$
• Développeurs plus heureux
• Aucune excuse pour ne pas l’implémenter chez vous