2.2 Kommentare und Anweisungen
Nur wenige Programmierer sind in der glücklichen Lage, einmal ein Programm zu schreiben, mit dessen Code nie wieder irgendjemand zu tun hat. Meistens muss man nach einiger Zeit das Programm überarbeiten – denn auch der schönste Urlaub endet, und man muss wieder arbeiten. Oder ein anderer, zum Beispiel ein Kollege, muss sich mit dem Programm auseinandersetzen – zum Beispiel, um etwas von Ihnen zu lernen. In diesen Situationen kann es die Arbeit enorm erleichtern, wenn man die eigene Arbeit kommentiert hat: Was beschreibt diese Variable, welche Funktionalität steckt hinter jener Methode? Visual Basic erlaubt es, nach einem Kommentarzeichen den Rest der Zeile als Kommentar zu nutzen. Der Compiler ignoriert grundsätzlich alle Kommentare, sodass man in einen Kommentar hineinschreiben kann, was man möchte. Es gibt zwei Kommentarzeichen:
- das einfache Hochkomma ' oder ’ oder ‘ (kein Akzent ´ bzw. ` )
- das Wort Rem
DekommentierenSchaltflaeche.tifKommentierenSchaltflaeche.tifBei größeren Kommentarblöcken kann es recht nervend sein, vor jede Zeile explizit das Hochkomma zu setzen. In der Standard-Symbolleiste befindet sich eine Schaltfläche , die das Auskommentieren größerer im Texteditor markierter Codeblöcke ermöglicht, und eine weitere , mit der diese Kommentierung auch schnell wieder aufgehoben wird.
Sollte die Symbolleiste nicht angezeigt werden, können Sie sie ergänzen. Dazu wählen Sie aus dem Menü Ansicht • Symbolleisten die entsprechende Symbolleiste.
In der Entwicklungsumgebung erscheinen Kommentare in einer anderen Schriftfarbe als der Programmcode selbst. Sie können die Farben individuell festlegen, wenn Sie das Menü Extras öffnen und den Punkt Optionen wählen. Wählen Sie im Knoten Umgebung der linken Liste Schriftarten und Farben aus. Rechts neben dem Listenfeld bieten sich anschließend mehrere Optionen, um die Darstellung des Programmcodes im Codefenster zu beeinflussen.
Die Beispiele des Buches werden nicht immer alles Interessante kommentieren, um die Programme kurz und prägnant zu halten. Bei realen Projekten sollte man aber keinesfalls mit Kommentaren geizen.
2.2.1 Einfache Kommentare
Unsere erste Anwendung könnte bereits einen Kommentar vertragen. Denn nicht jedem ist klar, dass die Prozedur Main im aktuellen Zustand nichts macht. Das folgende Listing fügt eine entsprechende Bemerkung hinzu. Das Leerzeichen hinter Rem ist obligatorisch.
Module Module1 Sub Main() 'noch keine Aktionen implementiert 'dies erfolgt bald Rem bereits im nächsten Abschnitt End Sub End Module
2.2.2 Hilfekommentare
In größeren Projekten ist es nicht immer möglich, den Quellcode anzusehen. Ein spezieller Kommentar erlaubt es, Hilfeinformation unabhängig vom Quellcode aufzubauen. Fügt man hinter dem Wort Module1 einen Zeilenvorschub ein und tippt 3 Hochkommata, ergänzt Visual Studio den Kommentar und platziert die Einfügemarke in die Leerzeile zwischen den beiden summary-Einträgen. Tippt man nun eine Beschreibung und bewegt die Maus über eine Verwendung von Main (nicht die bisherige Definition), so erscheint die Beschreibung in einem automatisch aufklappenden Fenster. In Abbildung 2.3 ist künstlich ein Aufruf eingefügt, um den Effekt zu zeigen. Das Programm würde jedoch endlos laufen, da Main wieder Main aufruft, das wieder Main aufruft und so weiter, ohne Ende.
Abbildung 2.3 Hilfekommentar
Der Vollständigkeit halber zeigt Tabelle 2.1 die empfohlenen Elementnamen (das optionale Attribut cref verweist auf eine Stelle im Quelltext).
Elementname | Beschreibung |
<c> |
Formatierung als Code |
<code> |
Formatierung als mehrzeiliger Code |
<example> |
Beispiel |
<exception> |
Ausnahme, die eine Methode auslösen kann |
<include> |
Einbindung von Teilen einer externen XML-Datei |
<list> |
Tabelle oder Liste |
<para> |
strukturierter Text (»Paragraph«) |
<param> |
Methodenparameter |
<paramref> |
Name eines Methodenparameters |
<permission> |
Sicherheitsanforderungen |
<remarks> |
(kurze) Typbeschreibung |
<returns> |
Rückgabewert einer Methode |
<see> |
Link |
<seealso> |
Siehe-auch-Link |
<summary> |
Beschreibung |
<typeparam> |
Typparameter |
<value> |
Eigenschaft |
2.2.3 Funktionsaufrufe (Methoden)
Jeder Funktionsaufruf in Visual Basic besteht aus dem Funktionsnamen und einem Paar runder Klammern. Das erste Beispiel haben Sie bereits kennengelernt: Main(). Zwischen den Klammern dürfen noch Parameter stehen. Ein einfaches Beispiel ist eine Ausgabefunktion, die eine Zeichenkette entgegennimmt:
Ausgabefunktion("Ein beliebiger Text!")
Man kann sich leicht vorstellen, dass sich eine solche Funktion in vielen Modulen befinden kann. Um diese Funktionen unterscheiden zu können, wird der Name des Moduls, durch einen Punkt getrennt, dem Funktionsnamen vorangestellt. Eine Funktion, die relativ zu einem Modul oder einer Klasse ist, wird Methode genannt.
Modulname.Ausgabefunktion("Ein beliebiger Text!")
Hinweis |
Existieren verschiedene Definitionen für denselben Methodennamen, wird diejenige automatisch gewählt, die am genauesten zu den angegebenen Argumenten passt. Dabei gilt: je spezifischer, desto besser (notwendige Parameter haben Vorrang vor optionalen; ebenso Parameter, die keine automatischen Konvertierungen erfordern). |
Wie eine solche Funktion definiert wird, kann erst nach der Einführung von Datentypen erklärt werden. Die erlaubten Namen für Funktionen folgen den gleichen Regeln wie für Variablen (siehe Abschnitt 2.5.3, »Variablendeklaration«).
Hinweis |
Obwohl eine Methode ohne Parameter auch ohne Klammern aufgerufen werden kann, sollten Sie dies vermeiden, um Ihre Quelltexte verständlicher zu machen (sonst fragt man sich, ob es sich um eine Methode oder eine Variable handelt). |
2.2.4 Anweisungen
In Visual Basic wird der Zeilenumbruch (in den Varianten Windows, Mac oder Unix sowie die Unicode-Zeichen 0x2028 und 0x2029) als Anweisungsende interpretiert. Sie haben aber auch die Möglichkeit, zwei oder mehr Anweisungen in eine Zeile zu schreiben. Dazu müssen beide Anweisungen nur durch einen Doppelpunkt voneinander getrennt werden, zum Beispiel:
Sub Main Ausgabefunktion("Nr 1") : Ausgabefunktion("Nr 2") End Sub
In diesem Codefragment sind zwei Anweisungen zur Ausgabe an der Konsole in einer Zeile implementiert.
Andererseits können Anweisungen, Definitionen und Deklarationen in Visual Basic sehr lang werden und die Breite des Texteditors deutlich übertreffen. Wollen Sie dennoch den gesamten Code, ohne zu scrollen, mit einem Blick erfassen, können Sie eine überlange Anweisungszeile in zwei oder noch mehr Zeilen teilen. Dazu wird der Unterstrich als Verbindungszeichen der geteilten Codezeile eingesetzt. Bedingung ist dabei, dass
- in der Anweisung vor dem Unterstrich ein Leerzeichen steht und
- der Zeilenumbruch nicht mitten in einer Zeichenfolge erfolgt.
Mit diesen beiden Regeln wäre beispielsweise der folgende Umbruch syntaktisch korrekt:
Sub Main Ausgabefunktion( _ "Lieber in der nächsten Zeile") End Sub
Der folgende Zeilenumbruch hingegen ist falsch, da er mitten in einer Zeichenfolge erfolgt:
Ausgabefunktion("Eine _
Zeichenkette darf nicht unterbrochen werden") 'Fehler!!
Ob lang oder kurz: Anweisungen, die nicht den Compiler betreffen, sondern das eigentliche Programm, müssen immer innerhalb eines Datentyps stehen, zum Beispiel Module.
Hinweis |
Der Beginn, das Ende und die erste Anweisung einer Subroutine müssen am Zeilenanfang beginnen (Leerzeichen und Tabulatoren am Anfang sind erlaubt). |
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.