Ratez vos revue de code en 5 lecons devoxx fr 2016

16
#DevoxxFR #CultureCode @mdomenjoud Ratez vos revues de code en 5 leçons Michel Domenjoud @mdomenjoud 1

Transcript of Ratez vos revue de code en 5 lecons devoxx fr 2016

Page 1: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Ratez vos revues de code

en 5 leçons

Michel Domenjoud @mdomenjoud

1

Page 2: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Développeur, in love with code since 2003.

Tech Lead – Coach Craft @OctoTechnology

@mdomenjoud #CultureCode #BetterPlaces #BetterCode

MICHEL DOMENJOUD

Page 3: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

La première pratique d’équipe à mettre en place

3

… la revue de code !

Page 4: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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.

Page 5: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Efficace depuis la nuit des temps

Page 6: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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

Page 7: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Pair programming

Revue par un pair

Revue collective

7

Page 8: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Fail #1 : On croule toujours sous les bugs !

http://thelinkedinman.com/wp-content/uploads/sites/2/2013/10/surprised-man.jpg

Page 9: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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 ?

Page 10: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Fail #2 Mon équipe ne progresse pas

http://taxiblog.fr/wp-content/uploads/2013/01/crossing_the_road.jpg

Page 11: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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 ?

Page 12: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#DevoxxFR #CultureCode @mdomenjoud

Fail #3 : On se tape dessus

http://i.huffpost.com/gen/1789693/images/o-DISPUTE-FAMILIALE-facebook.jpg

Page 13: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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 ?

Page 14: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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

Page 15: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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

Page 16: Ratez vos revue de code en 5 lecons   devoxx fr 2016

#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