Alle 5 Empfehlungen
Preise geschÀtzt, Stand 25. Feb. 2026
#1 · Der Klassiker · Most Overhyped
Single Responsibility Principle (SRP) Verletzung
0,00 âŹ
Eine Klasse macht alles: Datenbankzugriff, GeschĂ€ftslogik, API-Response â ein Alptraum.
- â Schnell geschrieben â funktioniert ja erst mal
- â AnfĂ€nger verstehen die Logik sofort
- â Weniger Dateien zu verwalten
- â Nach 6 Monaten unmöglich zu testen â 500 Zeilen Monster-Klasse
- â Eine kleine Ănderung bricht 3 andere Features
- â Neuen Entwicklern graut es â 10x lĂ€ngere Onboarding
#2 · Die If-Else-Hölle
Open/Closed Principle (OCP) Ignorieren
0,00 âŹ
Bei jeder neuen Anforderung: if (typ == 'neu') { ... } â endlose Verkettung.
- â Funktioniert bei 3 FĂ€llen noch halbwegs
- â Keine abstrakten Klassen nötig
- â Entwickler fĂŒhlen sich produktiv
- â Bei 20 Cases: 500 Zeilen unlesbarer Code
- â Jede neue Anforderung riskiert Regression
- â Polymorphismus wĂ€re eleganter gewesen â aber viel anstrengender
#3 · Die falsche Vererbung · Hidden Gem
Liskov Substitution Principle (LSP) Bruch
0,00 âŹ
Rechteck erbt von Quadrat? Falsch herum â jetzt crasht alles beim Seitenwechsel.
- â Superfizielle Code-Wiederverwendung durch Vererbung
- â GröĂere Klassenhierarchien wirken professionell
- â Alte OOP-LehrbĂŒcher empfehlen es so
- â Subtypen verletzen die VertrĂ€ge ihrer Superklassen
- â Bugs entstehen nur in Produktivumgebungen â bei Tests nicht reproduzierbar
- â Komposition wĂ€re besser gewesen â aber weniger 'elegant'
#4 · Das Fat Interface
Interface Segregation Principle (ISP) Missachtung
0,00 âŹ
Eine Schnittstelle mit 47 Methoden â jeder implementiert nur 3 und lĂ€sst 44 leer.
- â Weniger Dateien zu erstellen
- â Alle verwandten Methoden an einer Stelle
- â AnfĂ€nger sehen die gesamte API auf einmal
- â Implementierer mĂŒssen Dummy-Methoden schreiben â MĂŒll im Code
- â Tests werden kompliziert â Mock 40 leere Methoden
- â AbhĂ€ngigkeiten sind zu tight â schwer zu refaktorieren
#5 · Die starre AbhÀngigkeitskette · Budget King
Dependency Inversion Principle (DIP) Umkehrung
0,00 âŹ
Klasse A kennt B, B kennt C, C kennt D â eine Ănderung bei D zieht sich bis zu A durch.
- â Direkte AbhĂ€ngigkeiten fĂŒhlen sich konkret an
- â Keine abstrakten Schnittstellen nötig
- â Debugging ist einfach â direkter Call-Stack
- â Unit-Tests unmöglich â kann nichts mocken
- â Dependency Injection Container Boilerplate sparen
- â Monolith entsteht automatisch â Refactor nach 2 Jahren ein Albtraum