Programme richtig kommentieren

Der Laie wunder sich und der Fachmann staunt, wenn im Programmcode auf einmal Zeilen mit „//“ , „‚“ oder auch „/*“ beginnen. Manchmal freut man sich dann, weil nun ersichtlich ist, was der Programmierer an dieser und an jener Stelle programmiert hat und manchmal leider auch nicht. Was sollte man kommentieren, was nicht? Und warum kann es sinnvoll sein garnichts zu kommentieren? Das werde ich im folgenden Artikel erläutern.

Die Kommentarzeichen

Das meißt verbreiteste Kommentarzeichen ist wohl das Doppelslash „//“ sowie für mehrere Zeilen die Kombination „/*“ und „*/“, die z.B. in der C-Welt oder auch bei PHP zu finden sind.

In der HTML-Welt gibt es die bekannte Kombination

 <!-- Kommentar -->

was allerdings beim Auskommentieren einer einfachen Zeile immer ein bisschen Arbeit darstellt.

Aber auch das einfache Hochkomma hat sich durchgesetzt, und zwar in der VB-Welt. Dort wiederum gibt es keine Markierung um mehrere Zeilen auf einmal auszukommentieren. Dafür bieten die Programmierumgebungen mittlerweile Funktionen, welche alle derzeit markierten Zeilen ein- bzw auskommentieren. Ansonsten wäre es die Hölle (wie es früher tatsächlich war) ganze Funktionsteile auf einmal auszukommentieren.

Hintergrund

Das kostet doch nur Zeit, oder warum soll eigentlich kommentiert werden?

Ganz einfach deshalb, damit man selber auch in einem Jahr noch weiß, warum man dieses oder jenes programmiert hat und warum man etwas ggf. nicht getan hat.

Auch ist es häufig wichtig, dass Kollegen die Routinen nachvollziehen können, damit sie, falls nötig, sich schneller in den Code einarbeiten können.

Die Einarbeitungszeit kann durch gute Kommentare drastisch reduziert werden!

Dies zählt für Kollegen wie auch für sich selbst.

Oder weißt Du noch in einem Jahr, warum Du einen komplizierteren Weg gewählt hast anstatt den offensichtlichen zu nehmen?

Beim Debuggen eines Fehlers, der erst spät endeckt wird, kann das sehr wichtig sein!

Wohin mit dem Kommentar?

Es gibt zwei wichtige Möglichkeit den Kommentar zu platzieren:

  1. Hinter der Programmzeile: Hier wird der Kommentar hinter dem Befehl geschrieben. Der Vorteil besteht darin, dass es möglich ist, jede einzelne Zeile zu dokumentieren. Außerdem werden keine zusätzlichen Zeilen in den Code eingefügt, was den Code übersichtlicher macht. Allerdings kann es schwierig werden, wenn man die Kommentare im Nachhinein entfernen möchte.
  2. Über dem Code: Bei dieser Art wird der Kommentar in einer eigenen Zeile bzw in mehreren Zeilen geschrieben. Codeblöcke können so besser markiert und erläutert werden. Zudem ist es leichter möglich Kommentare aus einem Programm zu entfernen. Allerdings kann der Code sehr lang und übersichtlich werden (es soll schon vorkommen sein, dass es mehr Kommentarzeilen als Programmzeilen gab).

Das Kommentar selbst

Es sollte kurz und knapp gehalten sein. Zudem sollte nicht jede offensichtliche Zeile beschrieben werden, sondern sich auf das wesentliche beschränkt werden.

Nützlich ist es auch, kurz anzumerken, warum bestimmte Entscheidungen beim Programmieren getroffen wurden, wie z.B. eine Bestimmte Reihenfolge bei der Abarbeitung oder ähnlichem.

Dies kann beim Debuggen (siehe oben) sehr nützlich sein.

Allerdings gibt es auch Situationen wo Kommentare keinen Sinn machen. Wenn z.B. eine nicht kompilierte Anwendung für einen Kunden erstellt wird (z.B. in Form eines VBA-Macros) ist es vielleicht nicht so sinnvoll, dem Kunden sein ganzes Know How in Form einer gut kommentierten Software zu geben. Zwar kann der Kunde sich den Code trotzdem immernoch anschauen, aber er wird ohne Kommentare nicht gleich alles verstehen 😉 (es sei denn, es war vertraglich so abgemacht).

Kommentar-Hilfen

Viele IDEs bieten mittlerweile Hilfen beim Kommentieren von Code an. So erzeugen beispielsweise Visual Studio und MonoDevelop bei einem dreifachen Slash vor einer Funktion ganze Kommentarabschnitte, die zum Beschreiben der Funktion und der Übergabe- wie Rückgabeparameter dienen, erzeugen.

So, das war es.

Ich hoffe, Euch hat dieser Ausflug in das lästige Thema „Kommentare“ gefallen!

Comments
  1. Andreas
  2. Carsten Seifert