PDFDruckenE-Mail

Heute schon vernünftig kommentiert?

Aktualisiert (Mittwoch, den 03. Februar 2010 um 21:21 Uhr) Geschrieben von: Johannes Schlimm Samstag, den 23. Januar 2010 um 22:59 Uhr

Wie man Robert C. Martins Buch Clean Code (deutsche Übersetzung hier) entnehmen kann, sollte Quellcode so geschrieben werden, dass möglichst auf Kommentare verzichtet werden kann. Durchaus nachvollziehen kann ich, dass docblocks nicht nur positiv sind. Deren Vielzahl und manchmal auch Umfang lenkt oft von der Substanz ab.

Allerdings bin ich nicht der Meinung, dass es eine gute Idee ist auf Kommentare völlig zu verzichten. Einige der Dinge, die Robert C. Martin über die Quellcode-Kommentierung schreibt, finden meine volle Zustimmung. Insbesondere sind auskommentierte Bereiche, die für Ewigkeiten om Quellcode verbleiben, eine Unsitte. Wofür gibt es schließlich Quellcodeverwaltungen?

Wer aber seinen Quellcode so schreibt, dass er vermeintlich selbsterklärend ist, setzt viel voraus. Aus früherer Tätigkeit als Wartungsprogrammierer weiß ich, dass man unkommentiertem Quellcode oft erst nach längerem Studium eines über den Drucker geschickten Exemplars, und mit handschriftlichen Anmerkungen über Annahmen darin, halbwegs auf die Schliche kommt. Folgendes besonders unrühmliche Beispiel, ist mir in meiner Berufspraxis begegnet: In einem, von einem Vorgänger in der selben Firma mit Borland Pascal implementierten Programm, war ich gezwungen nach der Bedeutung einer Variablen namens s zu fahnden. Der Verfasser war schon länger nicht mehr bei der Firma beschäftigt. s war eine globale (!) Variable, aber dabei noch nicht einmal eine String-Variable! Ich konnte zwar Mitarbeiter, die zuvor an dem Projekt beiteiligt waren, fragen, was es mit s wohl auf sich hätte. Aber auch die wussten nicht (mehr) wofür s benutzt wurde. Das Rätsel ließ sich erst lösen, indem eine Kette von Telefonaten damit endete, dass der ehemailge Mitarbeiter, der mittlerweile in den USA lebte, erreicht wurde. Er wusste sofort, wofür s stand. Was aber an ein Wunder grenzte und so wohl nicht zu erwarten war. Mir ist die Bedeutung heute wieder entfallen, denn die Angelegenheit liegt immerhin über 10 Jahre zurück.

Fazit: Meiner bescheidenen Meinung nach sollte man nicht auf die Kommentierung von nicht absolut trivialsten Quellcodepassagen verzichten. Was einem heute noch einleuchtet, wird man in ein paar Monaten ggf. schon ganz anders sehen. Und wenn Dritte, z.B. Wartungsprogrammierer, sich nach Jahren mit der Materie beschäftigen müssen, dann sieht sie Sache noch einmal ganz anders aus. Auch für einen selbst wird eine gute Kommentierung nach längerer Zeit eine wertvolle Hilfe sein, die Gedankengänge von dunnemals wieder nachvollziehen zu können. Dazu gehört aber auch, dass man die Kommentierung nicht mit Banalitäten vollpflastert und die Disziplin aufbringt, bei Änderungen auch die Kommentierung anzupassen. Denn noch schlimmer als gar keine ist eine falsche Kommentarsetzung!

In diesem Sinne: Heute schon vernünftig kommentiert?

AddThis

AddThis Social Bookmark Button