agile tour lille 2015 - ratez vos revues de code
TRANSCRIPT
www.octo.com - www.usievents.com 1
@mdomenjoud #AgileTourLille #CodeReview
RATEZ RÉUSSISSEZ VOS REVUES
DE CODE EN 5 LEÇONS Michel DOMENJOUD
Agile Tour Lille – 15 octobre 2015
www.octo.com - www.usievents.com 2
@mdomenjoud #AgileTourLille #CodeReview
Développeur, in love with code since 2003.
Tech Lead – Coach Craft chez Octo Technology
@mdomenjoud #BetterPlacesWithBetterCode
MICHEL DOMENJOUD
www.octo.com - www.usievents.com 3
@mdomenjoud #AgileTourLille #CodeReview
…la revue de code !
S’il n’y avait qu’une seule chose à garder…
www.octo.com - www.usievents.com 4
@mdomenjoud #AgileTourLille #CodeReview
Efficace depuis la nuit des temps
Un 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
http://sail.cs.queensu.ca/publications/pubs/msr2014-mcintosh.pdf
http://www.reviewtechnik.de/NationalSoftwareQualityExperiment.pdf
www.octo.com - www.usievents.com 5
@mdomenjoud #AgileTourLille #CodeReview
Revue par un pair
Pair programming Revue collective
www.octo.com - www.usievents.com 6
@mdomenjoud #AgileTourLille #CodeReview
Fail #1 : On croule toujours sous les bugs !
www.octo.com - www.usievents.com 7
@mdomenjoud #AgileTourLille #CodeReview
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 ?
www.octo.com - www.usievents.com 8
@mdomenjoud #AgileTourLille #CodeReview
Fail #2 Mon équipe ne progresse pas
www.octo.com - www.usievents.com 9
@mdomenjoud #AgileTourLille #CodeReview
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 ?
www.octo.com - www.usievents.com 10
@mdomenjoud #AgileTourLille #CodeReview
Fail #3 : On se tape dessus
www.octo.com - www.usievents.com 11
@mdomenjoud #AgileTourLille #CodeReview
Critiquez en priorité
les personnes !
Lancez toujours
une language /
framework war !
- Critiquez le code, pas le développeur
- Appuyez vous sur les principes Egoless
Programming
- C’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 ?
www.octo.com - www.usievents.com 12
@mdomenjoud #AgileTourLille #CodeReview
Trois formats complémentaires
Revue par un pair Revue
collective
Pair
programming
Démarrer une User Story,
Code complexe,
Code Legacy, Debug,
Apprendre
Etablir des standards
Code critique
Nouvelles technos
Tout le temps Régulièrement A la demande
www.octo.com - www.usievents.com 13
@mdomenjoud #AgileTourLille #CodeReview
5 leçons à retenir
Leçon n°1 - Prenez le temps
Préparation à tête reposée
Rythme soutenable (max 1h30 & 300 LoC à la fois)
Leçon n°2 - Progressez ensemble
Échangez de vive voix pendant les revues
L’auteur corrige, en binôme si nécessaire
Leçon n°3 - Utilisez des standards
Utilisez des standards et checklists partagés
Faites les évoluer au fil des revues
Leçon n°4 - Critiquez le code, pas le dév.
Principes Egoless Programming
Leçon n°5 - Trouvez le(s) formats qui vous conviennent
et adaptez les à vos besoins
www.octo.com - www.usievents.com 14
@mdomenjoud #AgileTourLille #CodeReview
Pour aller plus loin
http://blog.octo.com/revue-de-code-quel-format-choisir/
Série d’articles sur la revue de code
Better Places With Better Code