𝗖𝗼𝗱𝗲 𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗜𝘀 𝗖𝗵𝗲𝗮𝗽𝗲𝗿 𝗧𝗵𝗮𝗻 𝗪𝗿𝗼𝗻𝗴 𝗔𝗯𝘀𝘁𝗿𝗮𝗰𝘁𝗶𝗼𝗻𝘀
Entwickler lieben das DRY-Prinzip.
Man möchte sich nicht wiederholen. Man möchte eleganten und wiederverwendbaren Code schreiben.
Doch dieses Ziel führt oft in eine Falle: vorzeitige Abstraktion.
Code zu wiederholen fühlt sich falsch an. Dennoch ist Duplizierung oft günstiger als eine schlechte Abstraktion.
Wir versuchen, perfekte modulare Systeme zu bauen. Wir suchen nach Mustern und extrahieren Logik, um Komplexität zu bewältigen.
Gut durchdachte Abstraktionen helfen dabei, Software skalierbar zu machen.
Aber viele Abstraktionen werden zu früh erstellt. Wenn man das Problem nicht vollständig versteht, wird die Abstraktion zur Belastung.
Eine falsche Abstraktion verursacht mehrere Probleme:
- Over-Engineering: Man baut komplexe Lösungen für einfache Probleme.
- Starrheit: Der Code wird schwer veränderbar, weil er versucht, eine Zukunft vorherzusagen, die niemals eintritt.
- Verschleierte Absicht: Die Geschäftslogik verbirgt sich unter Schichten generischer Schnittstellen. Das erschwert das Debugging.
- Starke Kopplung: Teile des Systems werden fest an die Abstraktion selbst gebunden.
Die Kosten sind hoch. Man verbringt Zeit damit, gegen die eigene Architektur zu kämpfen, anstatt Nutzerprobleme zu lösen. Das verlangsamt das Team und erschwert das Refactoring.
Ich sage nicht, dass man alles einfach kopieren und einfügen soll. Ich schlage einen pragmatischen Ansatz vor.
Nutzen Sie kontrollierte Duplizierung als Werkzeug. Setzen Sie sie in Bereichen ein, in denen sich Anforderungen schnell ändern oder in denen Unsicherheit herrscht.
Warten Sie, bis Sie das Muster klar erkennen, bevor Sie die Abstraktion bauen.