Skip to content

Kommentare im Clean Code: Weniger ist oft mehr

Warum wirklich sauberer Code sich selbst erklärt

Weisses Druckerpapier mit grünen Blättern

Foto von Elena Joland auf Unsplash

Die Kontroverse um Kommentare

Heute widmen wir uns einem überraschenden Thema: den Kommentaren. Habt ihr erwartet, dass wir nach Funktionen direkt zu Klassen und Objekten übergehen (kleiner Spoiler für später)? Wie wir aber am Tag 2 gelernt haben: "Funktionen sind die erste und kleinste Ebene der Modularisierung einer Software" und bilden bereits eine vollständige Grundlage, bevor wir zu komplexeren Konzepten fortschreiten.

Eine radikale These

Die Clean-Code-Philosophie zu Kommentaren lässt sich tatsächlich in einem provokanten Satz zusammenfassen: Clean Code ist Code ohne Kommentare. Diese Aussage löst sofort Diskussionen aus. In meiner gesamten Karriere war ich nur in einem einzigen Projekt, in dem diese Regel strikt eingehalten wurde – und überraschenderweise funktionierte es hervorragend. Anfangs vermisste ich das Schreiben von Kommentaren, doch schon bald entwickelte ich die Systeme weiter, ohne überhaupt daran zu denken. Eine reine Gewöhnungssache? Nicht unbedingt. Der Code war einfach so gut strukturiert, dass Kommentare schlicht überflüssig wurden.

Der tiefere Grund

Ein alternativer Blick auf dieses Thema lautet: Wenn ein Kommentar notwendig erscheint, hat man möglicherweise die Domäne nicht gut genug verstanden, um sie klar im Code abzubilden. Leider ist es oft der erste Impuls von Entwicklern, einen Kommentar zu schreiben, wenn sie unsicher sind, wie etwas implementiert werden sollte. Stattdessen lohnt es sich, mehr Zeit in das Verständnis der Anforderungen und der Fachlichkeit zu investieren.

Sinnvolle Ausnahmen

Natürlich gibt es auch hier legitime Ausnahmen:

  • Rechtliche Hinweise

  • TODO-Kommentare (temporär)

  • Javadoc für öffentliche APIs

  • Und weitere Spezialfälle, die besser durch konkrete Beispiele veranschaulicht werden

Der Clean-Code-Ansatz

Versucht heute, statt reflexartig Kommentare zu schreiben, lieber über aussagekräftige Funktionsnamen nachzudenken. Falls ihr doch kommentieren müsst, dann befolgt auch dabei Clean-Code-Prinzipien. Vielleicht hilft euch statt eines kommentierten Funktionsablaufs das Compose Method Pattern weiter.

Author

Sebastian Bergandy
Sebastian Bergandy