Clean Code
Mehr als nur schönes Programmieren
Das kennt wohl jeder Programmierer: Man öffnet eine Datei und will nur ganz schnell eine klitzekleine Anpassung am Code vornehmen. Doch was einen erwartet, ist ein heilloses Durcheinander, keinerlei Strukturen, kryptische Variablen und zahllose verschachtelte Kontrollstrukturen für ellenlange Methoden, die einem der Vorgänger hinterlassen hat. Wie hier offenbaren sich die Kosten für schlechten Code meist erst deutlich später in Form von hohem Wartungsaufwand, hohen Kosten für Weiterentwicklungen und eine aufwändige Fehlersuche.
Das bedeutet stundenlange Recherche, Neu-Entwicklungen bestehender Strukturen und „Aufräumen“, um letztlich nach unzähligen Stunden endlich die „klitzekleine Anpassung“ einbauen zu können. Das ist nicht nur nervig, sondern vor allem auch teuer, wenn man die dafür investierte Zeit betrachtet. Warum aber hat der Kollege dann so schlechten Code hinterlassen? Er müsste doch gelernt haben, dass eine seiner Hauptaufgaben als Programmierer die Erstellung von konkretem, sauberem, einfach gestaltetem und nachvollziehbarem Code ist. Es gibt immer eine Ausrede, warum man gerade keinen guten Code schreiben kann. Meistens sind es aus den Augen der Programmierer sicher die Auftraggeber. Die verstehen nichts vom Coding und drängen auf die schnellstmögliche Fertigstellung des Programms. Dafür nehmen sie, unwissentlich der Folgen, auch „Quick & Dirty Code“ in Kauf. Die Codeüberarbeitung wird mangels Zeit gestrichen. Zusätzliche Funktionen werden dann irgendwie schnell dazu geschustert bis das Chaos perfekt ist. Wie so oft im Leben gilt auch hier wieder: Wer billig kauft, kauft doppelt.
Vorteile von Clean Code
- von jedem geschulten Entwickler auf Anhieb erfassbar
- stabilere und effizient wartbarere Programme
- kürzere Entwicklungszeiten bei Funktionserweiterung
- kürzere Arbeitszeiten bei Fehlerbehebungen
- reduzierte Kosten
Grundregeln im Programmieren
- Einfachen Code nutzen, der auch von anderen Entwicklern verstanden wird (KISS-Keep it simple & stupid)
- Keine Code-Duplikate erstellen (DRY-Don’t repeat yourself)
- Löschen, was nicht gebraucht wird (YAGNI-You aren’t gonna need it)
- Quelldateien strukturiert aufbauen
- Abhängigkeiten zu anderem Code auf ein Minimum begrenzen
- Pro Methode nur eine Aufgabe
- Pro Objekt eine eigene Klasse
- Aussagekräftige Variablennamen wählen
- Klammern übersichtlich setzen
- Werte mit Variablen anlegen
- Mit Leerstellen und Leerzeilen arbeiten
- Groß- und Kleinschreibung beachten
- Möglichst ohne Negationen arbeiten
- Objektorientiert programmieren
- Teste & stelle sicher, dass dein Code funktioniert
- Kommentierung nutzen