Code-Duplizierung vs. falsche Abstraktionen
Entwickler stehen oft vor einer schwierigen Entscheidung.
Man muss sich zwischen dem „Don't Repeat Yourself“-Prinzip oder der Akzeptanz von gewisser Code-Duplizierung entscheiden.
DRY ist eine Kernregel im Software-Design. Aber wenn man es zu verbissen verfolgt, entsteht ein neues Problem: Man erschafft eine falsche Abstraktion.
Eine falsche Abstraktion ist teurer als duplizierter Code.
Wir wollen eleganten Code schreiben. Wir wollen wiederverwendbare Logik aufbauen. Wir wollen einen Bug an einer Stelle beheben und sehen, dass er überall behoben ist. Dieses Ziel fühlt sich richtig an.
Aber vorzeitige Abstraktion bremst die Projektgeschwindigkeit. Sie ruiniert die Wartbarkeit des Codes.
Wenn man zu früh abstrahiert, treten folgende Probleme auf:
- Erhöhte Komplexität. Schlechte Abstraktionen schaffen zusätzliche Ebenen der Verwirrung.
- Unflexibler Code. Es wird schwierig, einen Teil zu ändern, ohne andere Teile zu beschädigen.
- Versteckte Logik. Man verbringt mehr Zeit mit dem Nachverfolgen von Code als mit dem Schreiben.
Manchmal ist Duplizierung die pragmatische Wahl. Sie hält den Code einfach und übersichtlich. Sie ermöglicht es, Teile des Systems unabhängig voneinander zu ändern.
Bauen Sie keine generische Lösung für ein Problem, das Sie noch nicht vollständig verstehen. Warten Sie, bis das Muster klar erkennbar ist.