KISS, DRY, YAGNI
Trois acronymes fondamentaux pour garder un code simple, sans répétition et sans fonctionnalités inutiles - et les appliquer au-delà du code.
Don't Repeat Yourself
Ne vous répétez pas
Don't blame the people, blame the process.
- Culture Kanban / DevOpsÀ retenir
- ✓Repérer les blocs de code identiques ou très similaires
- ✓Les extraire dans une fonction réutilisable et centralisée
- ✓Appliquer aussi aux tâches manuelles répétitives → automatiser
- ✓Une modification à un seul endroit = moins de bugs, moins d'oublis
Copier-coller un bloc de code en le modifiant légèrement. Si le comportement change un jour, chaque occurrence devra être mise à jour - et vous en oublierez une.
You Aren't Gonna Need It
Vous n'en aurez pas besoin
À retenir
- ✓Ne développer que ce qui répond à un besoin identifié et actuel
- ✓Évaluer si un partenaire ou outil existant ne couvre pas déjà le besoin
- ✓Les problèmes futurs hypothétiques se traitent quand ils deviennent prioritaires
- ✓Chaque fonctionnalité non livrée est du temps disponible pour la valeur réelle
Développer par anticipation "au cas où on en aurait besoin un jour". Cela consomme du temps, ajoute de la complexité et génère du code à maintenir sans retour sur investissement.
Keep It Simple, Stupid
Garde le simple
À retenir
- ✓Écrire pour être lu - par un collègue, ou par soi-même dans 6 mois
- ✓Découper en fonctions claires avec une seule responsabilité
- ✓Éviter les abstractions prématurées et les sur-architecturations
- ✓Un code simple est plus facile à tester, à déboguer et à faire évoluer
Le code spaghetti : fonctions qui font trop de choses, logique dispersée, dépendances croisées. Impossible à démêler sans tout casser. S'accumule progressivement si on n'y prête pas attention dès le départ.
Les trois principes ensemble
Appliqués conjointement, DRY, YAGNI et KISS se renforcent mutuellement. DRY évite la duplication, YAGNI évite le superflu, KISS évite la complexité. Un code qui respecte ces trois principes est un code qui dure, se maintient facilement et évolue sereinement.
Ce ne sont pas des règles rigides - ce sont des boussoles. L'objectif est de les garder en tête à chaque décision de design pour orienter naturellement vers plus de clarté et de valeur.