KISS Principle
Details
- Vollständiger Name
-
Keep It Simple, Stupid (auch: Keep It Super Simple)
- Auch bekannt als
-
KISS, Keep It Simple
Kernkonzepte:
- Einfachheit als Designziel
-
Systeme funktionieren am besten, wenn sie einfach gehalten werden; Komplexität sollte möglichst vermieden werden
- Over-Engineering vermeiden
-
Keine Komplexität, Abstraktionen oder Funktionen hinzufügen, die über das aktuelle Problem hinausgehen
- Lesbarkeit statt Cleverness
-
Code, der leicht zu lesen und zu verstehen ist, wird gegenüber ausgefeilten, aber undurchsichtigen Lösungen bevorzugt
- Einfachste funktionierende Lösung zuerst
-
Den geradlinigsten Ansatz implementieren, der die Anforderungen erfüllt, dann bei Bedarf verfeinern
- Reduktion der kognitiven Last
-
Einfachere Designs reduzieren den mentalen Aufwand, der erforderlich ist, um ein System zu verstehen, zu pflegen und zu erweitern
- Progressive Verbesserung
-
Einfach beginnen; Komplexität nur hinzufügen, wenn sie durch konkrete Anforderungen gerechtfertigt ist (ergänzt YAGNI)
- Schlüsselvertreter
-
Kelly Johnson (Lockheed Skunk Works, 1960er), Robert C. Martin ("Clean Code", 2008)
Wann zu verwenden:
-
Bei der Wahl zwischen einer einfachen und einer komplexen Lösung
-
Beim Überprüfen von Code auf Wartbarkeit und Lesbarkeit
-
Beim Entwerfen von APIs, Schnittstellen oder Datenmodellen
-
Beim Einarbeiten neuer Teammitglieder in eine unbekannte Codebasis
-
Beim Refactoring von Code, der unnötig komplex geworden ist
Verwandte Anker:
-
YAGNI - Nicht implementieren, was noch nicht benötigt wird (komplementäres Einfachheitsprinzip)
-
DRY - Redundanz eliminieren, um Codebasen einfach und konsistent zu halten
-
SOLID Principles - Strukturierte Richtlinien, die saubere, einfache Designs fördern