6 min lecture • Guide 396 of 877
Suivi de la Qualité du Code
La qualité du code affecte la vélocité, les bugs et le moral de l'équipe. Un bon suivi de qualité identifie les tendances et les domaines d'amélioration. Un mauvais suivi devient un overhead bureaucratique que les équipes ignorent. Ce guide couvre la mesure pratique de la qualité du code.
Métriques de Qualité
| Métrique | Mesure | Cible |
|---|---|---|
| Couverture tests | Étendue des tests | Tendance à la hausse |
| Densité bugs | Taux de défauts | Tendance à la baisse |
| Complexité | Maintenabilité | Stable/décroissante |
| Temps de revue | Santé du processus | < 1 jour |
Métriques Clés
Quoi Suivre
MÉTRIQUES DE QUALITÉ DU CODE
════════════════════════════
COUVERTURE DE TESTS :
─────────────────────────────────────
Quoi suivre :
├── Couverture de lignes (basique)
├── Couverture de branches (mieux)
├── Couverture sur nouveau code (meilleur)
├── Tendance de couverture dans le temps
└── La direction compte
Bonne approche :
├── Nouveau code doit maintenir couverture
├── Suivre tendance, pas absolu
├── Identifier chemins critiques non testés
├── Qualité des tests compte aussi
└── Couverture significative
MÉTRIQUES DE BUGS :
─────────────────────────────────────
├── Bugs trouvés en production
├── Densité de bugs (bugs par KLOC)
├── Temps de correction
├── Taux de défauts échappés
├── Tendance dans le temps
└── Indicateur de qualité
COMPLEXITÉ DU CODE :
─────────────────────────────────────
├── Complexité cyclomatique
├── Complexité cognitive
├── Longueur fichier/fonction
├── Nombre de dépendances
├── Points chauds (complexe + changé souvent)
└── Maintenabilité
REVUE DE CODE :
─────────────────────────────────────
├── Temps jusqu'à première revue
├── Temps jusqu'au merge
├── Tendance des commentaires
├── Rigueur des revues
├── Santé du processus
└── Mesure de collaboration
Portes de Qualité
Vérifications Automatisées
PORTES DE QUALITÉ
═════════════════
PORTES PIPELINE CI :
─────────────────────────────────────
Étape 1 : Build
├── Compile
├── Linting passe
├── Vérification format
└── Santé basique
Étape 2 : Tests
├── Tests unitaires passent
├── Tests d'intégration passent
├── Couverture pas diminuée
└── Qualité fonctionnelle
Étape 3 : Analyse
├── Scan de sécurité
├── Vérification dépendances
├── Vérification complexité
├── Analyse statique
└── Qualité approfondie
EXEMPLE DE PIPELINE :
─────────────────────────────────────
build → lint → test → couverture → sécurité → deploy
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Doit Doit Doit Vérif Vérif
passer passer passer tendance alertes
CONFIG PORTES QUALITÉ :
─────────────────────────────────────
# Exemple de règles qualité
coverage:
new_code_coverage: >= 80%
coverage_change: >= 0% # Pas de baisse
complexity:
max_function_complexity: 15
max_file_length: 400
security:
high_severity: block
medium_severity: warn
Suivi dans GitScrum
Intégrer la Qualité
SUIVI QUALITÉ GITSCRUM
══════════════════════
LABELS DE TÂCHES :
─────────────────────────────────────
├── bug : Défauts trouvés
├── tech-debt : Travail qualité
├── refactor : Amélioration code
├── test : Ajout de tests
└── Catégoriser travail qualité
DÉFINITION DU DONE :
─────────────────────────────────────
Inclure la qualité :
├── ☐ Tests écrits
├── ☐ Code revu
├── ☐ Pas de nouveaux warnings
├── ☐ Documentation mise à jour
├── Qualité intégrée
└── Pas une réflexion après coup
SUIVI DES BUGS :
─────────────────────────────────────
├── Logger tous les bugs
├── Suivre la source (dev, QA, prod)
├── Labels de sévérité
├── Temps de correction
├── Analyse de tendance
└── Visibilité qualité
RAPPORTS QUALITÉ :
─────────────────────────────────────
Le rapport de sprint inclut :
├── Bugs créés vs corrigés
├── Dette tech traitée
├── Ajouts de tests
├── Tendance qualité
└── Revue régulière
Processus d'Amélioration
S'Améliorer
AMÉLIORATION DE LA QUALITÉ
══════════════════════════
IDENTIFIER LES POINTS CHAUDS :
─────────────────────────────────────
Concentrer l'effort :
├── Complexe + fréquemment modifié
├── Zones à haute densité de bugs
├── Chemins critiques non testés
├── Points de douleur développeurs
├── Focus guidé par les données
└── Plus grand impact
ALLOUER DU TEMPS :
─────────────────────────────────────
Investissement régulier :
├── 10-20% pour travail qualité
├── Chaque sprint, amélioration
├── Partie du travail fonctionnel
├── Pas une phase séparée
├── Investissement continu
└── Approche durable
MESURER L'AMÉLIORATION :
─────────────────────────────────────
Suivre dans le temps :
├── Couverture en hausse ?
├── Densité bugs en baisse ?
├── Complexité stable ?
├── Vélocité équipe stable/hausse ?
├── Qualité permet vitesse ?
└── Progrès visible
CÉLÉBRER LES VICTOIRES :
─────────────────────────────────────
├── Noter les améliorations qualité
├── Partager en rétros
├── Reconnaître l'effort
├── Construire l'élan
└── Renforcement positif
Meilleures Pratiques
Pour le Suivi de Qualité
- Tendances plutôt qu'absolus — La direction compte
- Automatiser les portes — Qualité en CI
- Partie du definition of done — Intégrée
- Investissement régulier — Chaque sprint
- Focus sur points chauds — Plus grand impact
Anti-Patterns
ERREURS DE SUIVI QUALITÉ :
✗ Chiffres de couverture stricts
✗ Qualité comme phase séparée
✗ Métriques sans action
✗ Gaming des métriques
✗ Ignorer les tendances
✗ Pas d'automatisation
✗ Blâme sur problèmes qualité
✗ Faux choix qualité vs vitesse