KISS-Programmierung: Wie Sie als Clean Code Developer punkten können

Erstklassige Resultate dank sauberem Quelltext: Das Clean Coding bietet einige Vorteile, die Sie als Entwickler nutzen sollten. Dafür sollten Sie ein paar grundlegende Dinge lernen.

Als Programmierer sollten Sie ein Clean Code Developer sein

Wollen Sie sich eine populäre Programmiersprache wie Python aneignen oder sich auf eine Nische wie SAP ABAP, Cobol und Fortran spezialisieren? Eine sehr gute Idee! Als Frontend- oder Backend-Entwickler oder als Full Stack Developer haben Sie derzeit die besten Chancen, einen Job zu finden. Programmierer von jedem Kaliber sind bei Startups, Mittelständlern und Konzernen gleichermaßen gefragt, denn der Digitalisierungsdruck ist überall gleich hoch.

Doch eine Script- oder Programmiersprache zu können, heißt noch lange nicht, sie zu beherrschen oder sie richtig anzuwenden. Ein Code muss nicht nur funktionieren, sondern auch “clean” sein - so ein Paradigma, das sich immer mehr durchsetzt. 

Was es mit der Clean-Code-Bewegung auf sich hat und wie Sie davon profitieren können, erfahren Sie hier.
 

Was ist Clean Code?

Unter Clean Code versteht man eine Methode zur Erstellung von Programmcode. Ziel ist es, einen Code zu erstellen, der als “sauber” gilt. Darunter versteht man, dass die Ergebnisse von Software-Entwicklern gut lesbar, verständlich, logisch, veränderbar, erweiterbar und wartbar sind.

Clean Code bedeutet also nicht, dass eine Software aus möglichst wenigen Lines of Code besteht. Im Gegenteil: Der “aufgeräumte” Quellcode kann sogar recht lang sein. Dafür erfüllt er aber die oben genannten Bedingungen.
 

Wie entstand das Clean-Code-Paradigma?

Robert C. Martin gilt als derjenige, der die Clean-Code-Idee populär gemacht hat. Er beschrieb sie in seinem 2008 erschienenen Buch “Clean Code: A Handbook of Agile Software Craftsmanship". Im Laufe der Jahre veröffentlichte der Softwareentwickler und IT Berater weitere Werke zum Thema, darunter “The Clean Coder: A Code of Conduct for Professional Programmers” (2011) und “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” (2017).

Die Werke von Robert C. Martin waren für viele Developer derartig inspirierend, dass daraus eine Bewegung entstand, die sich bis heute großer Beliebtheit erfreut. Die Clean-Code-Werte, -Regeln und -Prinzipien sind daher sehr gefragt.

Neben der Bezeichnung “Clean Code Development” kennt man auch den Begriff “KISS-Programmierung”. Das Akronym KISS steht für Keep It Simple & Stupid. Frei übersetzt heißt dies: Machen Sie es so einfach wie möglich! Finden Sie einen leicht implementierbaren Weg und vermeiden Sie jegliche Komplexität in Ihrem Quelltext.
 

Was sind die vier grundlegenden Clean-Code-Werte?

Es gibt verschiedene Werte, welche die Basis der Clean-Code-Bewegung darstellen. Dazu gehören:

  • Wandelbarkeit
  • Korrektheit
  • Produktionseffizienz
  • Kontinuierliche Verbesserung

Damit ist verkürzt dargestellt das gemeint:

  • Software und damit der Quellcode muss einfach anpassbar sein, um sich ändernde Rahmenbedingungen erfüllen zu können.
  • Die Applikationen müssen funktional korrekt laufen und alle Anforderungen sollten erfüllt werden.
  • Die Entwicklung einer Software muss effizient erfolgen, zum Beispiel durch automatisierte Abläufe.
  • Die Reflexion, das Lernen und die fortwährende Weiterentwicklung des Codes gilt als eminent wichtig.

Clean Coding: Welche Regeln und Prinzipien gibt es?

Um die Clean-Code-Werte einhalten zu können, haben sich verschiedene Ansätze etabliert. Im Folgenden einen kleinen Überblick über die bekanntesten:

DRY
DRY (Don’t Repeat Yourself) soll Sie daran erinnern, keine Wiederholungen in Ihrem Quellcode einzubauen. Treten dennoch Redundanzen auf, spricht man von WET (We Enjoy Typing). 

YAGNI
Ein Quelltext wird erst um neue Funktionen erweitert, wenn es unbedingt notwendig ist - nicht vorher. Vermeiden Sie deshalb unnötigen Programmieraufwand, indem Sie sich “YAGNI” sagen (“You Ain’t Gonna Need It”).

SLA
Um die Lesbarkeit, die Verständlichkeit und die Wartbarkeit des Codes zu verbessern, müssen Sie das SLA (Single Level of Abstraction) befolgen. Diese Praktik sorgt dafür, dass Sie Funktionen verschiedener Abstraktionslevel nicht miteinander vermischen.

POLA
Die Principles of Least Astonishment, kurz POLA, bedeuten: Die Komponenten eines Systems sollten sich so verhalten, wie es die meisten Benutzer erwarten, um sie nicht zu erstaunen oder zu überraschen. Wenn es doch zu einer Überraschung kommt, ist es möglicherweise erforderlich, eine Funktion neu zu gestalten. 

SRP
Das Single Responsibility Principle (SRP) wurde von Robert C. Martin eingeführt und besagt, dass es nie mehr als einen Grund geben sollte, eine Klasse zu ändern. Das Prinzip zielt darauf ab, die Verantwortung für ein Modul klar abzugrenzen und sicherzustellen, dass jede Komponente nur für eine spezifische Aufgabe oder Funktion zuständig ist.

KISS
Wir haben es bereits erwähnt: Halten Sie Ihren Programmcode so einfach wie möglich. Komplizierte oder aufwendige Lösungen sind ein No-Go beim Clean Coding, denn das “verunreinigt” das Ergebnis.

Zusätzlich können Sie noch Regeln und Methoden wie FCoI (Favour Composition over Inheritance), SoC (Separation of Concerns), ISP (Interface Segregation Principle) oder LoD (Law of Demeter) anwenden. Wenn Sie ein wenig im Internet recherchieren, merken Sie, dass sich in den letzten Jahren zahlreiche Clean-Coding-Empfehlungen angesammelt haben.
 

Was sind die Vorteile und Herausforderungen von Clean Code?

Einen sauberen, intuitiven Quelltext zu programmieren, das klingt nach dem ultimativ besten Weg in der Softwareentwicklung. Nicht wirklich!

Das sind die Pro- und Contra-Argumente:

Vorteile

Herausforderungen

  • Sehr gute Lesbarkeit und Wartbarkeit des Codes
  • Einarbeitung in die Clean-Code-Regeln & -Prinzipien
  • Geringe Abhängigkeiten zwischen den Elementen
  • Evtl. erhöhter Aufwand beim Aufteilen des Codes
  • Hohe Stabilität und verbesserte Robustheit der Software
  • Einhaltung der Vorgaben kann zeitintensiv sein
  • Erweiterungen und Veränderungen leicht möglich
  • Im Entwicklungsteam muss viel Disziplin herrschen
  • Höhere Wiederverwendbarkeit von Komponenten
  • Überprüfungen & Überarbeitungen kosten Ressourcen
  • Geringere Fehleranfälligkeit und bessere Testbarkeit


Warum lieben Unternehmen das Programmierparadigma?

Das Ziel des Clean Codings ist es, effizienter und schlanker zum Ziel zu kommen. Alles Unnötige wird weggelassen und Fehlerquellen so weit wie möglich ausgeschlossen. Denn ein aufgeräumter Code lässt sich von Experten leichter lesen, anpassen und erweitern als schlampig geschriebener Quelltext. Das sorgt für eine engere Zusammenarbeit im Development-Team: Die Kollegen können schneller Reviews und Tests durchführen. 

Und fällt mal ein Programmierer aus, etwa wegen Krankheit oder Urlaub, können die anderen Entwickler im Idealfall ohne großen Aufwand einspringen. Das gilt auch, wenn eine Anwendung extern weiterentwickelt werden soll.

Clean Code spielt auch der agilen Entwicklung in die Hände. Dabei wird eine Software schrittweise realisiert, regelmäßig gibt es Anpassungen und Weiterentwicklungen. Wenn sie “clean” programmiert wurde, ist es dauerhaft möglich, eine schnelle Taktung mit wöchentlichen oder monatlichen Releases durchzuhalten.

Und: Wenn Sie als Developer den Clean-Code-Prinzipien folgen, zeigen Sie Ihrem (potentiellen) Arbeitgeber, dass Sie daran interessiert sind, Ihr Wissen fortwährend zu verbessern. Ihre Leistungssteigerung wirkt sich positiv auf die Qualität Ihres Outputs aus.
 

Wie wird man zum Clean Code Developer?

Um ein Clean Code Developer zu werden, können folgende Schritte für Sie hilfreich sein:

Verständnis
Arbeiten Sie sich in die Werte, Regeln und Prinzipien des Clean Codings ein. Lernen Sie sukzessive die Umsetzung und bleiben Sie kontinuierlich dran. Merken Sie sich: Es ist noch Clean Code Developer vom Himmel gefallen!

Lesbarkeit
Halten Sie Ihren Quellcode so einfach wie möglich. Vermeiden Sie übermäßig komplexe Lösungen und konzentrieren Sie sich auf klare und verständliche Strukturen. Denken Sie stets daran, ob andere Programmierer Ihre Arbeit sofort lesen und interpretieren können.

Kommentare
Integrieren Sie Kommentare in Ihren Code, um ihn zu erklären und zusätzliche Details zu liefern. Das hilft anderen Entwicklern, Ihre Absichten zu verstehen und Änderungen vorzunehmen.

Tools
Nutzen Sie Tools, die Sie bei der Fehlererkennung, der Suche nach Sicherheitslücken und anderen Code-Analysen unterstützen. Lernen Sie aus den Erkenntnissen, um in Zukunft sauberer zu arbeiten.

Pair Programming
Beim Pair Programming arbeiten Sie mit einem Partner zusammen, um Fehler zu reduzieren. Sie schauen sich gegenseitig über die Schultern und geben sich wichtige Tipps für einen Clean Code.

Refactoring
Verbessern Sie fortwährend Ihren Code durch manuelle oder automatische Anpassungen, um komplizierte Teile zu verbessern. Ihr Ziel muss es sein, einen funktional unveränderten, aber strukturell leichter lesbaren Quelltext zu produzieren.
 

Fazit

Einerseits ist Clean Coding in Unternehmen sehr beliebt. Es erhöht die Wahrscheinlichkeit, dass das Development-Team bessere Resultate liefert. Andererseits sind die Einhaltung der Regeln, Praktiken und Prinzipien sowie die ständigen Optimierungen ziemlich zeitaufwändig - und damit teuer. 

Da Software oft unter Zeit- und Kostendruck entwickelt wird, kann es durchaus vorkommen, dass Clean Code in Ihrem Unternehmen nur eine Theorie bleibt. Arbeiten Sie trotzdem daran, das an sich sehr gute Paradigma so gut wie möglich in die Praxis umzusetzen.

Bilder: Adobe Stock