Duplication de code vs. Mauvaises abstractions
Les développeurs sont souvent confrontés à un dilemme.
Vous devez choisir entre le principe "Don't Repeat Yourself" ou l'acceptation d'une certaine duplication de code.
Le DRY est une règle fondamentale de la conception logicielle. Mais le poursuivre de manière excessive crée un nouveau problème : vous créez une mauvaise abstraction.
Une mauvaise abstraction coûte plus cher qu'un code dupliqué.
Nous voulons écrire un code élégant. Nous voulons construire une logique réutilisable. Nous voulons corriger un bug à un seul endroit et voir la correction s'appliquer partout. Cet objectif semble être le bon.
Mais l'abstraction prématurée nuit à la vitesse du projet. Elle compromet la facilité de maintenance de votre code.
Lorsque vous abstraisez trop tôt, vous êtes confronté à ces problèmes :
- Complexité accrue. Les mauvaises abstractions ajoutent des couches de confusion.
- Code rigide. Il devient difficile de modifier une partie sans en casser d'autres.
- Logique cachée. Vous passez plus de temps à tracer le code qu'à l'écrire.
Parfois, la duplication est le choix pragmatique. Elle permet de garder votre code simple et clair. Elle vous permet de modifier des parties de votre système de manière indépendante.
Ne construisez pas de solution générique pour un problème que vous ne comprenez pas encore pleinement. Attendez que le modèle soit clair.