deol.de - http://www.deol.de
Kommentar (Programmierung)
http://www.deol.de/articles/545/1/Kommentar-Programmierung/Seite1.html
Von Johann Klempner
Veröffentlicht am 07.10.08
 
Kommentare sind Annotationen innerhalb von Programmiersprachen und Textbeschreibungssprachen. Alle diese Sprachen bestehen aus Anweisungen für den Computer (Code) und Hinweisen für Textbearbeiter (Kommentaren). Wird ein Quelltext weiterverarbeitet (Compiliert, Interpretiert, Geparst, etc.) werden Kommentare von der verarbeitenden Software ignoriert und haben daher keinen Einfluss auf das Ergebnis. Der Nutzer bzw. Betrachter des Ergebnisses kann daher auch nicht mehr auf die Existenz der Kommentare rückschließen. Alles bisher gesagte unterliegt jedoch auch gewissen Ausnahmen, die am Ende des Artikels besprochen werden.

Syntax allgemein
Für eine Sprache ist festgelegt, wie ein Kommentar beginnt und gegebenenfalls auch, wie er endet. Der Inhalt eines Kommentars und somit auch sein Nutzen kann vom Bearbeiter frei gewählt werden und unterliegt keiner verbindlichen Syntax, in der Regel werden Kommentare in "menschliche" Sprache festgehalten, entweder die Muttersprache des Autors oder eine Allerweltssprache. Kommentare bestehen meist nur aus Text (d.h. keine Formatierungen, Grafiken, Klänge, etc.), da die meisten Sprachen nur solche Kommentare zulassen.

Verwendung

Trotz der freien Verwendbarkeit werden Kommentare besonders oft in folgender Weise verwendet:

  • Informationen über den gesamten Quelltext
    Zu Beginn eines Quelltextes kann der Autor vorbemerkungen zu selbigem anbringen, darunter Angabe des Autors, der Lizenz, des Erstellungsdatums, Kontaktadresse bei Fragen, Liste anderer benötigter Dateien, einen Gruß an Programmierkollegen, etc...
  • Gliederung des Quelltextes
    Überschriften und Abschnitte können als solche Gekennzeichnet werden. Dabei werden häufig nicht nur sprachliche Mittel verwendet ("Hier beginnt der residente Teil") sondern auch grafische Mittel, die sich durch Text umsetzen lassen ("****=- Residenter Teil -=****")
  • Erläuterung einer einzelnen Zeile
    So kann die Arbeitsweise oder Bedeutung eines Textteils (z.B. Programmzeile, Tag) erläutert werden, damit andere oder der Autor selbst diese später leichter versteht.
  • Hinweis auf zu erledigende Arbeit
    Kommentare können unzureichende Codestücke kennzeichnen ("Hier muss noch die Unterstüztung vom Umlauten verbessert werden") oder Platzhalter für komplett fehlende Codestücke sein ("Hier Tabellendarstellung einfügen").
  • Auskommentierung
    Soll ein bestandteil des Codes vorübergehend gelöscht, jedoch eventuell später wieder eingesetzt werden, so wird er "auskommentiert". Das Codestück ist, sobald es im Kommentar verpackt ist, aus sicht des Computers kein Code mehr, d.h. er ist praktisch nicht mehr vorhanden.

Ausnahmen: Verwendung entgegen der Definition
Ausnahmen von der obgien Definition von Kommentaren (Kommentare, die vom Computer nicht immer ignoriert werden):

  • Präprozessor
    Sprachen, die keine eigene Syntax für Präprozessoranweisungen haben, verwenden spezielle Kommentare. Im ersten Durchlauf ermittelt der Präprozessor aus den Kommentaren die nötigen Informationen, im zweiten Durchlauf (Compilen, Interpetieren, etc.) werden diese Kommentare dann (wie alle Kommentare) überlesen.
  • Einbettung von Fremdsprachen
    In Quelltexten, die sich aus mehreren Sprachen zusammensetzen, wird eine Sprache in die Kommentare der anderen eingebettet. Das wohl bekannteste Beispiel sind Javascripts, die sich in HTML-Kommentaren verbergen. Dies ist meistens nur eine Übergangslösung, um mit älteren Programmen kompatibel zu bleiben, die die eingebettete Sprache nicht verstehen würden und sie daher als Fehler anerkennen würden.
  • Automatisierte Codeerstellung
    Wird Code mit einer Entwicklungsumgebung erstellt (z.B. HTML-Editor), so kann dieser Informationen in Kommentaren speichern, die für ihn von Belang sind, für den Weiterverarbeiter des Codes (z.B. Browser) jedoch keinen Sinn haben.
  • Weitere Ausnahmen
    Sicherlich gibt es eine Reihe weiterer Ausnahmen, die jedoch an dieser Stelle nicht weiter erwähnenswer sind.

Syntax am Beispiel einiger Sprachen

Die Syntax von Kommentaren ist in den verschiedenen Sprachen unterschiedlich. Hier einige Beispiele:

Sprache Variante Syntax
C, C++, C#, JS Blockkommentar Code /* Ein Kommentar,
der auch Zeilenumbrüche
enthalten darf. */ Code
C++, C#, JS,
Bourne Shell,
Lisp...
Zeilenkommentar Code // Kommentar, der bis zum Zeilenende geht
// Soll er weitergehen, muss er erneut als Kommentar
// gekennzeichnet werden.
Basic bzw. Batch REM-Kommentar Kommentarzeile, die mit dem Befehl REM eingeleitet wird.
Basic Apostroph-Kommentar Code " Kommentar bis zum Zeilenende
HTML Kommentar mit SGML-Tags Code <!-- Kommentar --> Code
Diese Liste ließe sich für verschiedene Sprachen beliebig weiterführen. Man sieht jedoch schon, dass die Verwendung von Kommentaren prinzipiell in allen Sprachen sehr ähnlich abläuft.