6 min lecture • Guide 343 of 877
Optimisation du Workflow de Code Review
Les code reviews lentes bloquent la progression et frustrent les développeurs. Les reviews rapides livrent le code rapidement mais peuvent manquer des problèmes. L'objectif est d'optimiser à la fois la vitesse et la qualité. Ce guide couvre les approches pratiques pour optimiser les code reviews.
Métriques de Revue
| Métrique | Objectif | Signal d'Alerte |
|---|---|---|
| Première réponse | <4 heures | >1 jour |
| Review complète | <24 heures | >3 jours |
| Taille PR | <400 lignes | >1000 lignes |
| Tours de revue | 1-2 | >4 |
Petites PR
La Taille Compte
PULL REQUESTS PLUS PETITES
══════════════════════════
POURQUOI LA TAILLE COMPTE :
─────────────────────────────────────
Grosses PR :
├── Prennent plus de temps à revoir
├── Reçoivent des revues superficielles
├── Plus susceptibles d'avoir des bugs
├── Plus difficiles à comprendre
├── Bloquent autre travail plus longtemps
├── Les reviewers les repoussent
└── Tout en souffre
Petites PR :
├── Rapides à revoir
├── Feedback approfondi
├── Faciles à comprendre
├── Rapides à itérer
├── Livraison fréquente
└── Meilleurs résultats
GUIDELINES DE TAILLE :
─────────────────────────────────────
├── <200 lignes : Facile, revue rapide
├── 200-400 lignes : Raisonnable
├── 400-800 lignes : Devient gros
├── >800 lignes : Trop gros—découpez
└── Visez <400 lignes
COMMENT DÉCOUPER :
─────────────────────────────────────
Grande fonctionnalité → Plusieurs PR :
├── PR 1 : Modèles de données/schéma
├── PR 2 : API Backend
├── PR 3 : Composants Frontend
├── PR 4 : Intégration et tests
├── Chacune est reviewable
└── Stacker ou merger séquentiellement
PR STACKÉES :
─────────────────────────────────────
PR 1 : Changement de base
└── PR 2 : Dépend de PR 1
└── PR 3 : Dépend de PR 2
Avantages :
├── Chaque PR est petite
├── Peut revoir en parallèle
├── Merger en séquence
├── Des outils aident à gérer
└── Itération rapide
Qualité des PR
Préparer le Succès des Reviewers
MEILLEURES PRATIQUES PR
═══════════════════════
TITRE CLAIR :
─────────────────────────────────────
Bon format de titre :
├── [TYPE] Description brève
├── [Feature] Ajouter flux reset mot de passe
├── [Fix] Résoudre timeout de login
├── [Refactor] Simplifier user service
└── Scannable, descriptif
BONNE DESCRIPTION :
─────────────────────────────────────
Template :
## Quoi
Description brève du changement.
## Pourquoi
Pourquoi ce changement est nécessaire. Lien vers issue.
## Comment
Décisions d'implémentation clés. Préoccupations.
## Tests
Comment cela a été testé ? Étapes manuelles ?
## Screenshots
Si changements UI, montrer avant/après.
AUTO-REVUE D'ABORD :
─────────────────────────────────────
Avant de demander une revue :
├── Lisez votre propre diff
├── Vérifiez les problèmes évidents
├── Assurez-vous que les tests passent
├── Vérifiez le formatage
├── Supprimez le code debug
├── Ne gaspillez pas le temps du reviewer
└── Le premier reviewer, c'est vous
CHECKLIST :
─────────────────────────────────────
Checklist PR :
☐ Tests ajoutés/mis à jour
☐ Documentation mise à jour
☐ Pas de console.log ou debug
☐ Respecte les standards de code
☐ Auto-reviewé
☐ CI passe
Processus de Revue
Revues Efficaces
WORKFLOW DE REVUE
═════════════════
TEMPS DE REVUE PLANIFIÉ :
─────────────────────────────────────
Bloquer du temps pour les revues :
├── Matin : 30 min temps de revue
├── Après déjeuner : 30 min temps de revue
├── Habitude constante
├── Ne pas laisser les PR s'accumuler
├── Fait partie du travail quotidien
└── Priorité égale au coding
PRIORISATION DES REVUES :
─────────────────────────────────────
Ordre de revue :
├── 1. PR bloquantes (autres attendent)
├── 2. Petites PR (gains rapides)
├── 3. PR anciennes (éviter péremption)
├── 4. Grosses PR (focus profond)
└── Vider la queue efficacement
SUR QUOI SE CONCENTRER :
─────────────────────────────────────
Haute valeur :
├── Correction (ça fonctionne ?)
├── Design (c'est maintenable ?)
├── Cas limites (qu'est-ce qui casse ?)
├── Sécurité (vulnérabilités ?)
└── Performance (régressions ?)
Basse valeur (automatiser) :
├── Formatage (prettier/black)
├── Style (linter)
├── Imports (automated sorting)
└── Typos (spellcheck)
Feedback Constructif
Comment Commenter
BONNES PRATIQUES DE FEEDBACK
════════════════════════════
BON COMMENTAIRE :
─────────────────────────────────────
"Ce pattern pourrait causer un N+1 query problem.
Voici un exemple de comment le résoudre avec eager
loading : [lien]. Qu'en penses-tu ?"
→ Explique le problème
→ Fournit une solution
→ Invite le dialogue
MAUVAIS COMMENTAIRE :
─────────────────────────────────────
"Mauvaise performance"
→ Vague
→ Pas de solution
→ Pas constructif
NIVEAUX DE SEVERITY :
─────────────────────────────────────
├── 🔴 BLOQUER : Must fix avant merge
├── 🟡 SUGGESTION : Amélioration recommandée
├── 💭 NIT : Préférence mineure
└── ❓ QUESTION : Juste curieux/clarification
AUTOMATISER CE QUI PEUT L'ÊTRE :
─────────────────────────────────────
Ne commentez pas sur :
├── Formatage → Prettier/Black
├── Style → ESLint/Pylint
├── Typos → Spellcheck CI
├── Imports → Auto-sort
└── Libérez du temps pour l'important
Métriques et Amélioration
Suivre la Performance
TABLEAU DE BORD REVIEWS
═══════════════════════
CETTE SEMAINE :
├── PR créées : 24
├── Temps moyen 1ère réponse : 3.2h ✓
├── Temps moyen merge : 18h ✓
├── Tours moyens : 1.4 ✓
└── PR > 72h : 2 ⚠
PAR REVIEWER :
├── Alex : 8 reviews, 2.1h moy.
├── Marie : 6 reviews, 4.5h moy.
├── Chen : 10 reviews, 2.8h moy.
└── Jordan : 4 reviews, 5.2h moy. ⚠
TENDANCE (30 jours) :
Temps merge : ▼ 22h → 18h (amélioration)
Tours revue : = 1.5 (stable)
Meilleures Pratiques
Règles d'Or
- Automatisez le trivial : Le reviewer humain pour l'important
- Répondez vite : Première réponse < 4h
- Petites PR : Plus faciles, plus rapides, meilleures
- Descriptions claires : Aidez le reviewer
- Feedback constructif : Expliquez et proposez
- Temps dédié : Bloquez du temps pour les reviews