Unsere Clean-Code-Reise
Wir sind in diesen 10 Tagen durch die wichtigsten Clean-Code-Bausteine gegangen. Ich hoffe, dass ich euch einerseits an dieses wichtige Thema erinnert und andererseits einige Missverständnisse klären konnte. In vielen Gesprächen hört man oft, dass Clean Code nur um Lesbarkeit oder gute Namen ginge. Häufig werden kompakte Code-Beispiele gezeigt mit der Frage, welche Variante "sauberer" sei.
Doch nun wissen wir: Es geht um viel mehr. Clean Code ist eine umfassende Sammlung von Prinzipien, Methoden, Regeln und technischen Aspekten, die zu wartbarer, robuster, pragmatischer und zuverlässiger Software führen. Neben den grundlegenden, aber entscheidenden Aspekten wie aussagekräftigen Namen, kleinen Funktionen und Klassen gibt es tiefgreifendes Wissen aus dem Software-Engineering-Bereich.
Die einzige Möglichkeit, schnell zu sein
Clean Code bedeutet Softwareentwicklung nach Software-Engineering-Standards und -Vorgaben – genau das, was in der Eile oft weggelassen wird. Allzu schnell vergessen wir das und werden dadurch letztendlich nur langsamer. Wie der Vater des Clean Code, Robert C. Martin, so treffend formulierte:
The only way to go fast, is to go well.
Diese Wahrheit habe ich in meiner Karriere bereits mehrfach am eigenen Leib erfahren.
Die Bedeutung der Disziplin
In der Softwareentwicklung gibt es zahlreiche Methoden: SCRUM, Code Reviews, Pair Programming, TDD und viele mehr. Die Erfinder dieser Methoden haben genau durchdacht, wie, wann und unter welchen Bedingungen sie funktionieren. Wir kennen sie alle, und eigentlich sind sie auch alle leicht verständlich – und doch funktionieren sie am Ende oft nicht wie erwartet.
Warum ist das so? Die Antwort liegt in der Disziplin. Wenn die Regeln, Schritte, Annahmen und Prinzipien, die ein Methodenautor sich ausgedacht hat, nicht eingehalten werden, wird die Methode auch nicht funktionieren. Das ist unvermeidlich. Sobald wir anfangen uns zu beeilen, Problemumgehungen zu wählen und die Spielregeln zu ignorieren, werden wir langsamer, nicht schneller.
Die gefährlichen Ausreden
Das gilt auch für Clean Code. Wenn wir anfangen, Folgendes zu denken:
"Die Größe dieser Funktion geht noch. Ich habe jetzt keine Zeit."
"Ich kann keinen besseren Namen finden, ich lasse das erst mal so."
"Das muss ich jetzt nicht in zwei Klassen trennen, geht schon."
"Wahrscheinlich wird dieser Fehler nie auftreten."
"Hier kann ich ruhig null zurückgeben."
Dann arbeiten wir erstens nicht nach Clean-Code-Prinzipien, und zweitens dürfen wir uns nicht wundern, dass Softwareentwicklung teuer, aufwändig und manchmal ärgerlich ist. Da sind wir selbst schuld. Alle technischen Schulden kommen irgendwann zurück – und dann mit Zinsen.
Ein persönliches Bekenntnis
Ich hoffe, ich konnte euch mein Lieblingsthema ans Herz legen. Ich programmiere seit etwa 20 Jahren, und diejenigen, die mich kennen, wissen, dass mir das die ganze Zeit Spaß macht und ich immer lösungsorientiert arbeite. Das verdanke ich der Selbstdisziplin und der Einhaltung von Spielregeln. Methodisches und strukturiertes Arbeiten bringt Erfolg.
Das bedeutet nicht, dass man unflexibel oder unagil wird – im Gegenteil. Dadurch wird man fähig, in geplanten Zeiträumen Verpflichtungen einzuhalten und zuverlässig zu bleiben. Ich wünsche euch, das auch in eurer Arbeit zu erfahren.
Unsere 10-tägige Reise durch Clean Code
Tag 1: Aussagekräftige Namen
Tag 2: Funktionen
Tag 3: Kommentare
Tag 4: Formatierung
Tag 5: Objekte
Tag 6: Fehlerbehandlung
Tag 7: Drittanbieter-Code
Tag 8: Tests
Tag 9: Nebenläufigkeit
Tag 10: Systeme
Es war ein schönes 10-tägiges Abenteuer.