|
Microsoft® Visual Basic® Scripting Edition Konventionen für die Programmierung mit VBScript |
VBScript-Tutorium Zurück
|
Konventionen für die Programmierung sind Vorschläge, die Ihnen das Schreiben von Code mit der Microsoft Visual Basic Scripting Edition erleichtern sollen. Konventionen für die Programmierung umfassen unter anderem folgende Richtlinien:Der wichtigste Grund für einheitliche Konventionen für die Programmierung ist die Standardisierung der Code-Struktur und des Programmierstils für ein oder mehrere Skripten, damit der Code für Sie und andere leichter lesbar und verständlicher ist. Mit sinnvollen Konventionen für die Programmierung erhalten Sie präzisen, lesbaren und eindeutigen Code, der den für andere Programmiersprachen verwendeten Konventionen entspricht und so intuitiv wie möglich ist.
- Namenskonventionen für Objekte, Variablen und Prozeduren
- Konventionen für Kommentare
- Richtlinien für die Formatierung und das Einrücken von Text
Frühere Versionen von VBScript besaßen keine Mechanismen für die Erstellung benutzerdefinierter Konstanten. Konstanten wurden, wenn notwendig, wie Variablen implementiert und von anderen Variablen dadurch unterschieden, daß nur Großbuchstaben verwendet wurden. Mehrere Wörter wurden durch den Unterstrich (_) getrennt. Beispiele:Obwohl dieser Weg, Konstanten zu kennzeichnen, noch funktioniert, können Sie eine andere Art der Namensgebung verwenden. Sie können echte Konstanten mit Hilfe der Const-Anweisung anlegen. Diese Konvention verwendet ein Format mit gemischter Groß- und Kleinschreibung, in dem Konstanten das Präfix "con" vorangestellt wird. Zum Beispiel:BENUTZER_LISTE_MAX NEUE_ZEILEconIhreEigeneKonstante
Um die Lesbarkeit und die Konsistenz zu verbessern, verwenden Sie in VBScript die in der folgenden Tabelle aufgeführten Präfixe zusammen mit aussagekräftigen Variablennamen.
Untertyp Präfix Beispiel Boolean bln blnGefunden Byte byt bytRasterDaten Date (Time) dtm dtmStart Double dbl dblToleranz Error err errBestellNr Integer int intAnzahl Long lng lngEntfernung Object obj objAktuell Single sng sngDurchschnitt String str strVorname
Variablen sollten immer mit dem kleinstmöglichen Gültigkeitsbereich definiert werden. VBScript-Variablen können einen der folgenden Gültigkeitsbereiche haben.
Gültigkeitsbereich Variablendeklaration in Sichtbarkeit Prozedurebene Ereignis-, Function- oder Sub-Prozedur Sichtbar in der Prozedur, in der sie deklariert wird. Skriptebene HEAD-Abschnitt einer HTML-Seite, außerhalb jeder Prozedur Sichtbar in jeder Prozedur des Skripts.
Mit zunehmender Skriptgröße wird es immer wichtiger, die Gültigkeitsbereiche der Variablen schnell unterscheiden zu können. Dies wird durch einen Gültigkeitsbereichs-Präfix aus einem Buchstaben vor dem Typ-Präfix erreicht, ohne die Variablennamen übermäßig zu verlängern.
Gültigkeitsbereich Präfix Beispiel Prozedurebene keiner dblGeschwindigkeit Skriptebene s sblnBerechnungInArbeit
Im Rumpf eines Variablen- oder Prozedurnamens sollte Groß- und Kleinschreibung verwendet werden. Der Name sollte so ausführlich sein wie nötig, um den Zweck der Variablen zu beschreiben. Darüber hinaus sollten Prozedurnamen mit einem Verb beginnen, wie z.B. InitialisiereFeldName oder SchliesseDialogfeld.Für häufig verwendete oder lange Ausdrücke sind Standardabkürzungen zu empfehlen, um die Namen kurz zu halten. Im allgemeinen sind Variablennamen mit mehr als 32 Zeichen schwer lesbar. Stellen Sie sicher, daß die verwendeten Abkürzungen im gesamten Skript einheitlich sind. Der grundlose Wechsel zwischen Zhl und Zaehl innerhalb eines oder mehrerer zusammenhängender Skripten kann Probleme bereiten.
Die folgende Tabelle führt die empfohlenen Konventionen für die verschiedenen Objekte auf, die beim Programmieren in VBScript verwendet werden.
Objekttyp Präfix Beispiel 3D-Grundfläche (3D panel) pnl pnlGruppe Animierte Schaltfläche (animated button) ani aniMailBox Check box chk chkReadOnly Kombinationsfeld (combo box), Dropdown-Listenfeld (drop-down list box) cbo cboDeutsch Befehlsschaltfläche (command button) cmd cmdExit Standarddialogfeld (common dialog) dlg dlgDateiOeffnen Rahmen (frame) fra fraSprache Horizontale Bildlaufleiste (horizontal scroll bar) hsb hsbLautstaerke Abbildung (image) img imgSymbol Bezeichnungsfeld (label) lbl lblHilfeMeldung Linie (line) lin linVertikal Listenfeld (list box) lst lstVersicherungsnummern Drehfeld (Spin) spn spnSeiten Textfeld (text box) txt txtNachname Vertikale Bildlaufleiste (vertical scroll bar) vsb vsbRate Bildlauffeld (Slider) sld sldSkala
Jede Prozedur sollte mit einem kurzen Kommentar beginnen, der den Zweck der Prozedur beschreibt. Diese Beschreibung sollte nicht auf die Implementierungsdetails (wie die Operationen durchgeführt werden) eingehen, weil sich diese im Laufe der Zeit ändern können, was zu unnötigen Wartungsarbeiten bei den Kommentaren oder, noch schlimmer, zu falschen Kommentaren führen kann. Der Code selbst und ggf. nötige Kommentare im Code beschreiben die Implementierung.Die an eine Prozedur übergebenen Argumente sollten beschrieben werden, wenn ihr Zweck nicht offensichtlich ist und wenn die Prozedur die Argumente in einem bestimmten Wertebereich erwartet. Rückgabewerte von Funktionen und andere Variablen, die von der Prozedur geändert werden, vor allem über Argumente, die als Referenz übergeben werden, sollten ebenfalls am Anfang jeder Prozedur beschrieben werden.
Die Kommentare im Prozedurkopf sollten folgende Abschnittsüberschriften enthalten. Beispiele finden Sie im nachfolgenden Abschnitt "Code-Formatierung".
Berücksichtigen Sie folgende Punkte:
Abschnittsüberschrift Kommentar Zweck Was die Prozedur tut (nicht, wie sie es tut). Annahmen Liste der Auswirkungen dieser Prozedur auf externe Variablen, Steuerelemente oder andere Elemente. Auswirkungen Liste der Auswirkungen dieser Prozedur auf externe Variablen, Steuerelemente oder andere Elemente. Eingehende Werte Erläuterung jedes Arguments, das nicht offensichtlich ist. Jedes Argument sollte in einer separaten Zeile mit Kommentaren im Code beschrieben werden. Rückgabewerte Erklärung des zurückgegebenen Wertes.
- Die Deklaration jeder wichtigen Variablen sollte einen Kommentar im Code enthalten, der die Verwendung der deklarierten Variablen beschreibt.
- Variablen, Steuerelemente und Prozeduren sollten so klar benannt werden, daß Kommentare im Code nur noch für komplexe Implementierungsdetails nötig sind.
- Sie sollten am Anfang Ihres Skripts eine Übersicht einfügen, die das Skript beschreibt und die Objekte, Prozeduren, Algorithmen, Dialogfelder und andere Systemabhängigkeiten auflistet. Manchmal kann ein Stück Pseudo-Code helfen, einen Algorithmus zu beschreiben.
Sie sollten mit dem Platz auf dem Bildschirm möglichst sparsam umgehen und trotzdem den Code so formatieren, daß die logische Struktur und Verschachtelung deutlich wird. Hier sind einige Hinweise:
- Normal verschachtelte Blöcke sollten um vier Leerzeichen eingerückt sein.
- Der Übersichtskommentar einer Prozedur sollte um ein Leerzeichen eingerückt sein.
- Die Anweisungen auf höchster Ebene, die auf den Übersichtskommentar folgen, sollten um vier Leerzeichen eingerückt sein. Jeder verschachtelte Block sollte jeweils um weitere vier Leerzeichen eingerückt werden. Beispiel:
'********************************************************* ' Zweck: Sucht das erste Vorkommen des angegebenen ' Benutzers im Datenfeld BenutzerListe. ' Eingaben: strBenutzerListe(): Zu durchsuchende Benutzerliste. ' strZielBenutzer: Name des zu suchenden Benutzers. ' Rückgabe- ' werte: Index des ersten Vorkommens von strZielBenutzer ' im Datenfeld strBenutzerListe. ' Wenn der gesuchte Benutzer nicht gefunden wird: -1. '********************************************************* Function intSucheBenutzer (strBenutzerListe(), strZielBenutzer) Dim i ' Schleifenzähler. Dim blnGefunden ' "Ziel gefunden"-Attribut. intSucheBenutzer = -1 i = 0 ' Schleifenzähler initialisieren Do While i <= Ubound(strBenutzerListe) and Not blnGefunden If strBenutzerListe(i) = strZielBenutzer Then blnGefunden = True ' Flag auf True setzen intSuche Benutzer = i ' Rückgabewert für Schleifenzähler setzen End If i = i + 1 ' Schleifenzähler erhöhen Loop End Function