Docteur Code, j’ai mal ! On trouve des régressions en prod On a du mal à faire monter en compétence les développeurs Les fonctionnalités ne sont même pas correctement implémentées Les perfs s’écroulent à cause d’une jointure foireuse La qualité du code diminue
Les différents types/format de feedback Asynchrone Synchrone Solitaire Toute l’équipe Pair Programming IDE + compilation Mob Programming Static Code Analysis (Sonar) Branche abandonnée avant les vacances Pair Review of code Mob Review of code
Les fausses bonnes idées de la revue de code ● Utiliser un outil ● Avoir une équipe en charge des revues de code ● Systématiquement avoir un expert relire le code des débutants ● Réécrire le code des débutants quand ça va pas
De quoi ne doit-on pas parler en revue de code ? Indentation Organisation des imports “J’aime pas les boucles utilise plutôt des streams” “Vavr ça pue la mort” “J’aime pas trop le design pattern Singleton, vire ça”
Mais du coup on regarde quoi dans une revue de code ? ● Conformité au standard de code de l’équipe ● Qualité/expressivité (présence ?) des tests unitaires ● Qualité du nommage ● Design de l’application ● Performances ● Est-ce que le code fait bien ce qu’il doit faire
Niveau temporalité On prend le temps de bien faire, une revue superficielle est inutile Une revue de story devrait prendre entre 10 et 25% du temps de développement Essayer de se limiter à 300 LoC (code + test)
Comment on donne le feedback 1. On discute tous les deux derrière un écran plutôt qu’un mail 2. On est dur avec le code, doux avec les gens 3. Egoless programming
Commencer les revues de code Pair-programming : 1 fois par jour ● Débuter une user- story ● Code Legacy ● Débug ● Code complexe Revue de code : Tout le temps Mob programming : 1 fois par sprint Nouvelle technologie Standards de code Code critique