Definition „Keep it simple stupid“ Wie programmiert man nach dem KISS-Prinzip?
Das KISS-Prinzip – ein Akronym für „Keep it simple, stupid“ existiert bereits seit 60 Jahren. Es ist eine von mehreren Methoden, die die Verständlichkeit von Quellcode zu erhöhen und so den Umgang mit diesem zu vereinfachen.

KISS steht für „Keep It Simple, Stupid“, wahlweise existieren aber auch andere, ähnliche Auflösungen des Akronyms. Es ermahnt Entwickler und Entwicklerinnen dazu, Code möglichst einfach zu halten, und gilt als eine der lose gewählten Säulen der Clean Code-Prinzipien. Was genau KISS beinhaltet, ist nicht eindeutig definiert. Generell gelten jedoch folgende Faustregeln:
- Unnötige Komplexität im Code ist zu vermeiden.
- Die Problemlösung sollte so simpel wie möglich erreicht werden.
Zu bedenken ist dabei jedoch, dass es sich bei KISS um eher subjektive Einschätzungen handelt. Code, der für die einen Programmierenden unkompliziert erscheint und einfach zu lesen ist, könnten andere als komplex und schwer zu verstehen einstufen. Ob Code daher simpel ist oder nicht, lässt sich kaum anhand objektiver Kriterien belegen, was immer wieder zu Diskussionen über „sauberen Code“ führt.
Neben der Softwareentwicklung ist KISS auch in andere Branchen und Bereiche übergetreten. Beispielsweise wird KISS auch im Marketing angewendet: Kunden sollen alle Vorteile von Produkten und Dienstleistungen aufgezeigt werden, aber dies soll auf eine so simple Weise wie möglich geschehen, damit die Zielgruppe alle Vorteile auf Anhieb versteht.
Welche Vorteile bringt KISS?
Für einen einzigen Developer ist KISS nicht zwingend relevant. Sofern eine Person den selbstgeschriebenen Code versteht und damit umgehen kann, ist bei einem Projekt, das von nur dieser Person betreut wird, kein Problem zu erwarten. Der Code kann sehr komplex und wenig „sauber“ sein und trotzdem funktionieren. Für die Maschine macht es am Ende keinen Unterschied, ob Code nach KISS-Prinzip geschrieben wurde oder nicht.
Seine Vorteile spielt KISS daher meist erst aus, sobald mehrere Programmierende an einem Projekt beteiligt sind. Müssen mehrere Personen Code (oder Teile des Codes) verstehen, führt eine simple Strukturierung des Codes zu einem leichteren Verständnis aller Inhalte. Dies zeigt sich in mehreren Aspekten:
- KISS-Code macht beispielsweise die Aufgaben von Klassen, Funktionen oder Variablen sofort verständlich.
- Der Ausführungsablauf folgt einer klaren Strukturierung, die Sinn ergibt und leicht zu erfassen ist.
- Klassen und Methoden sind eher klein gehalten, außerdem wird ihnen nur eine einzige Funktion zugewiesen.
Durch Arbeitsrichtlinien wie diese wird sichergestellt, dass andere Entwicklerinnen und Entwickler den Code schneller verstehen können. Befolgt ein Entwickler KISS während der eigenen Arbeit, kann dieser später die Entwicklung am Projekt auch komplett einstellen und anderen Personen überlassen. Dies würde wahrscheinlich ohne größere Schwierigkeiten ablaufen, da der Code leicht verständlich ist und die Weiterarbeit keine Probleme mit sich bringt.
KISS in der Softwareerweiterung
Softwareentwicklung steht selten still, meistens werden Anwendungen im Laufe der Zeit um weitere Funktionen ergänzt. KISS kann in diesem Bereich wertvolle Hilfe in mehreren Bereichen leisten:
- Einfacher Code ist schneller zu lesen: Führen neue Funktionen im Code zu Bugs, lassen diese sich wahrscheinlich schneller finden. Dies kann vor allem in komplexeren Projekten sehr viel Zeit sparen.
- Leicht erfassbarer Code lässt sich einfacher erweitern: Ist der Code leicht zu verändern, gelingt die Einbindung neuer Features wahrscheinlich schneller und reibungsloser - was Zeit und Geld spart.
Vor allem in Open-Source-Projekten kann KISS Vorteile in Bezug auf die Fehlersuche bringen. Andere Developer, die auf Plattformen wie GitHub in fremden Code schauen, finden unter Umständen kritische Fehler oder Sicherheitslücken schneller, wenn der Code verständlich geschrieben ist. Gerade in Anwendungen, in denen Sicherheitslücken unter Umständen drastische Folgen haben können, ist dies bedeutend.
Die Grenzen von KISS
Ein übergroßer Fokus auf eine simple Codestrukturierung kann, sofern falsch angewendet, Nachteile haben. Beispielsweise könnten Variablen nur aus einem Buchstaben oder einer Ziffer bestehen. Was sich genau hinter Variablennamen wie "a" oder "1" verbirgt, ist jedoch unklar. Vollständig formulierte, für Menschen lesbare Variablen machen deutlich, was der Zweck der Variable ist.
Dieses Beispiel soll zeigen, dass KISS nicht gleichbedeutend ist mit "möglichst wenig Code". Stattdessen steht einfacher, aber gleichzeitig für Menschen erfassbarer Code im Vordergrund. KISS ist kein Wettrennen um jedes Kilobyte Code und sollte nicht missverstanden werden, da sonst Probleme entstehen, die KISS eigentlich aus der Welt schaffen soll.
Historisches: Wie entstand KISS?
Ursprünglich geht KISS auf einen Ingenieur, Clarence Johnson, beim US-amerikanischen Rüstungskonzern Lockheed Martin zurück. Seinen Mitarbeitern stellte er Aufgaben, die es zu lösen galt, während dabei nur einfachste Werkzeuge zu benutzen waren.
Dies sollte sicherstellen, dass beispielsweise ein Flugzeugtriebwerk auch unter schlechten Bedingungen – und nicht nur im Labor - reparierbar blieb. Das Ergebnis sollte einfach und dennoch leistungsstark sein – ebenso wie Software, die schwierige Aufgaben übernehmen soll, aber deren Quellcode gleichzeitig leicht verständlich sein sollte.
(ID:49315574)