Post on 13-Jan-2017
#DevoxxFR #CultureCode @mdomenjoud
Ratez vos revues de code
en 5 leçons
Michel Domenjoud @mdomenjoud
1
#DevoxxFR #CultureCode @mdomenjoud
Développeur, in love with code since 2003.
Tech Lead – Coach Craft @OctoTechnology
@mdomenjoud #CultureCode #BetterPlaces #BetterCode
MICHEL DOMENJOUD
#DevoxxFR #CultureCode @mdomenjoud
La première pratique d’équipe à mettre en place
3
… la revue de code !
#DevoxxFR #CultureCode @mdomenjoud
Software Craftsmanship : pratiques indispensables
4
Clean CodeTests
automatisésTest Driven
Development
Feedback
Revue de code
+ Intégration continue, Standards, Refactoring, Design, etc.
#DevoxxFR #CultureCode @mdomenjoud
Efficace depuis la nuit des temps
#DevoxxFR #CultureCode @mdomenjoud
• Objectif : détecter les défauts le plus tôt possible• Jusqu’à 65% des défauts détectés• ROI de 4 pour 1
• 1h de revue → 4h de debug économisées
• Des bénéfices conséquents• Partager des standards • Renforcer la propriété collective du code• Faciliter l’apprentissage• Améliorer la communication autour du code
The Impact of Code Review Coverage and Code Review Participation on Software Quality
NATIONAL SOFTWARE QUALITY EXPERIMENT - A LESSON IN MEASUREMENT
#DevoxxFR #CultureCode @mdomenjoud
Pair programming
Revue par un pair
Revue collective
7
#DevoxxFR #CultureCode @mdomenjoud
Fail #1 : On croule toujours sous les bugs !
http://thelinkedinman.com/wp-content/uploads/sites/2/2013/10/surprised-man.jpg
#DevoxxFR #CultureCode @mdomenjoud
Allez le plus vite possible !
Allez-y les mains dans les poches !
Ne demandez à personne comment s’y prendre !
- Prenez le temps, à un rythme soutenable- Demandez une revue dès que possible
- Préparez la revue via une lecture à tête reposée
- Utilisez des standards et checklists partagés- Formez vous ensemble
Pour passer à côté des défauts Et pour les détecter ?
#DevoxxFR #CultureCode @mdomenjoud
Fail #2 Mon équipe ne progresse pas
http://taxiblog.fr/wp-content/uploads/2013/01/crossing_the_road.jpg
#DevoxxFR #CultureCode @mdomenjoud
Ne vous parlez surtout pas !
Corrigez tout à la place de l’auteur !
N’écrivez pas vos standards
- Échangez de vive voix pendant les revues
- L’auteur corrige, en binôme si nécessaire
- Ecrivez vos standards- Faites les évoluer au fil des revues
Pour stagner au fil des revues Et pour progresser ?
#DevoxxFR #CultureCode @mdomenjoud
Fail #3 : On se tape dessus
http://i.huffpost.com/gen/1789693/images/o-DISPUTE-FAMILIALE-facebook.jpg
#DevoxxFR #CultureCode @mdomenjoud
Critiquez en priorité les personnes !
Lancez toujours une language / framework war !
- Critiquez le code, pas le développeur- Appuyez vous sur les principes EgolessProgramming
- Ce n’est pas le moment- Trouvez des compromis- Choisissez un standard et écrivez-le
Pour être sûr de s’engueuler Et pour une revue sereine ?
#DevoxxFR #CultureCode @mdomenjoud
Revue par un pair
Revue collective
Pair programming
Démarrer une User Story,Code complexe,
Code Legacy, Debug,Apprendre
Etablir des standardsCode critique
Nouvelles technos
Tout le tempsRégulièrement A la demande
Trois formats complémentaires
#DevoxxFR #CultureCode @mdomenjoud
• 1 - Prenez le temps
•Préparation à tête reposée
•Rythme soutenable (max 1h30 & 300 LoC à la fois)
• 2 - Progressez ensemble
•Échangez de vive voix pendant les revues
•L’auteur corrige, en binôme si nécessaire
• 3 - Utilisez des standards
•Utilisez des standards et checklists partagés
•Faites les évoluer au fil des revues
• 4 - Critiquez le code, pas le dév.
•Principes Egoless Programming
• 5 - Trouvez le(s) formats qui vous conviennent et adaptez les à vos besoins
5 leçons à retenir pour réussir vos revues
#DevoxxFR #CultureCode @mdomenjoud
• Un livre collectif sur la culture et les pratiques Software Craftsmanship
• Disponible gratuitement au téléchargement http://www.octo.com/fr/publications/20-culture-code
Culture CodeSoftware Craftsmanship : Better Places with Better Code
http://blog.octo.com/tag/software-craftsmanship