Revue de code
Le reviewer/mainteneur s’engage à effectuer la revue de code rapidement, c’est aussi à lui qu’appartient de fermer les « request changes », de bien vérifier l’historique des commits, et de fusionner la « pull request » s’il en a les droits.
Nous vous soumettons quelques conseils et recommandations qui nous semblent pertinentes pour une revue de code humaine, pertinente et enrichissante pour tous ses contributeurs :
- How to Make Your Code Reviewer Fall in Love with You? par Michael Lynch.
- How to Do Code Reviews Like a Human? par Michael Lynch.
Voici une proposition de flux de travail.
Il peut être utile de communiquer par messagerie instantanée (Matrix, Slack, etc.) afin de garantir le fonctionnement du flux de la validation d’une PR.
sequenceDiagram actor A as Auteur PR actor R as Reviewer/mainteneur A->>R: Demande une review en notifiant spéciquement quelques personnes R->>A: Répond à la demande par oui ou non loop Boucle entre auteur et reviewer R-->>A: Commente, demande des changements A-->>R: Répond à chaque commentaire/demande de changement A-->>R: Corrige le code si nécessaire dans des « fixups » dédiés R-->>A: Vérifie, teste, et commente à nouveau le code R-->>A: Résout les conversations/demandes de changement le cas échéant end A->>R: Rebase si nécessaire R->>A: Vérifie l'historique des commits R->>A: Approuve ou ferme la PR Note left of R: Et fusionne si mainteneur
Si la personne qui fait la revue de code n’est pas mainteneur, c’est à l’auteur de PR de trouver un mainteneur pour pouvoir fusionner sa PR avec le code. Dans certains cas particuliers (notamment juste avant le gel des fusions en fin d’itération), le mainteneur doit être averti plus tôt.