Upgrade to Pro — share decks privately, control downloads, hide ads and more …

La revue de code 2.0

La revue de code 2.0

Depuis l'époque des revues de code ponctuelles avec retours partagés en réunion ou dans un tableau excel les usages ont bien changé: revues systématiques du code sans échanges en face à face avec le développeur (via les merge requests, pull requests ou requête de tirage). Ces nouveaux usages ont des avantages mais aussi des inconvénients et sont souvent mal utilisés, mal vécus voire générateurs de conflits. En apprenant de ces erreurs, peut-on réinventer la revue de code et passer à la version 3.0 ?

Sandrine Banas

November 25, 2020
Tweet

More Decks by Sandrine Banas

Other Decks in Technology

Transcript

  1. Lisibilité du code Améliorations syntaxiques Oubli d’implémentation Bug, défaut de

    conception Communiquer son état d’avancement Transfert de connaissances Accompagnement d’un junior Responsabilité collective du code
  2. Les MR bloquent plus de 24h Mettre les MR en

    visibilité Temps d’attente d’une pull/merge request pour être relue
  3. Certaines MR ne sont pas relues Plus d’attractivité Mise en

    confiance des juniors Temps selon langage / taille des MR
  4. Des échanges sans fin sur une MR Règle sur la

    validation et échange de vive voix Nombre de MR dépassant un nv usuel de discussions
  5. Traiter les gens qui en savent moins que vous avec

    respect, déférence et patience
  6. La programmation est une compétence comme les autres. Elle s’améliore

    avec la pratique. Si un pair vous montrait des façons d’améliorer votre jonglage, le prendriez-vous pour une attaque de votre caractère et de votre valeur en tant qu’être humain ? Debugging Teams, Better Productivity through Collaboration Brian W. Fitzpatrick, Ben Collins-Sussman
  7. De la même manière, votre valeur personnelle ne devrait pas

    être liée au code que vous écrivez, ni à aucun projet créatif que vous construisez. Pour nous répéter: vous n'êtes pas votre code. Dites-le encore et encore. Vous n'êtes pas ce que vous faites. Debugging Teams, Better Productivity through Collaboration Brian W. Fitzpatrick, Ben Collins-Sussman
  8. La responsabilité collective du code a de toute façon tendance

    à éviter que du code compliqué soit ajouté au système. Kent Beck (XP)
  9. Si vous savez que qu'un aura très bientôt (dans quelques

    heures) l'occasion de lire le code que vous êtes en train d'écrire en ce moment, vous y réfléchissez à deux fois avant de créer de la complexité que vous n'êtes pas en mesure de justifier. Kent Beck (XP)
  10. Utile?  Lisibilité du code  Qualité/maintenabilité  Communication /

    transfert de comp.  Responsabilité collective du code  Uniformiser le code  Importance de la lisibilité pour le client ?  Qualité/maintenabilité peut être assurée par un outillage automatique  Coût en temps  Stress/tensions de la revue systématique  Craftmanship
  11. La qualité avant l’humain  Ressenti comme manque de confiance

     Stress de l’imposé  Apprentissage forcé  Le bien-être de l’équipe en premier lieu Valoriser les experts  Soutenir les juniors  Volontariat / confiance  Des revues de code de vive-voix  Revues automatisées  Walkthrough review