Variablen in Visual Basic können den folgenden Gültigkeitsbereich haben:
Gültigkeitsbereich |
Deklaration |
Sichtbar |
Prozedurebene |
,Private' in Prozedur, Sub- oder Function-Funktion |
In der Prozedur, in der sie deklariert ist |
Modulebene |
,Private' im Deklarationsabschnitt eines Formular- oder Code-Moduls (.frm, .bas) |
In jeder Prozedur im Formular- oder Code-Modul |
Global |
,Public' im Deklarationsabschnitt eines Code-Moduls (.bas) |
Überall in der Anwendung |
In einer Visual Basic-Anwendung sollten globale Variablen nur verwendet werden, wenn es keine andere Möglichkeit gibt, auf Daten aus mehreren Formularen zuzugreifen. Wenn es unumgänglich ist, globale Variablen einzusetzen, ist es sinnvoll, alle in einem einzigen Modul zu deklarieren, nach der Funktion gruppiert. Geben Sie dem Modul einen kategorisierenden Namen, wie z.B. Public.bas.
Sie sollten nach Möglichkeit modularen Code verwenden. Wenn in Ihrer Anwendung z.B. ein Dialogfeld angezeigt wird, sollten Sie alle Steuerelemente und den Code für die Ausführung der Dialogfeldfunktionen in einem Formular definieren. Auf diese Weise erleichtern Sie sich die Organisation des Codes der Anwendung durch praktische Komponenten, und der Verwaltungsaufwand zur Laufzeit wird minimiert.
Mit Ausnahme von globalen Variablen - sie sollten nicht übergeben werden - sollten Prozeduren und Funktionen nur mit Objekten arbeiten, die an sie übergeben wurden. Globale Variablen, die in Prozeduren verwendet werden, sollten im Deklarationsabschnitt am Anfang der Prozedur beschrieben werden. Außerdem sollten Sie Argumente unter Verwendung von ByVal an Sub- und Function-Prozeduren übergeben, es sei denn, Sie müssen den Wert des übergebenen Arguments explizit ändern.
Bei zunehmender Größe des Projekts wird es umso wichtiger, den Gültigkeitsbereich von Variablen schnell erkennen zu können. Dies können Sie erreichen, indem Sie dem Typpräfix ein entsprechendes, aus einem Buchstaben bestehendes Präfix voranstellen. Dadurch wird der Variablenname nur unwesentlich länger.
Gültigkeitsbereich |
Präfix |
Beispiel |
Global |
g |
gstrBenutzername |
Modulebene |
m |
mblnZwischenergebnis |
Lokal in Prozedur |
Keines |
dblBeschleunigung |
Eine Variable hat einen globalen Gültigkeitsbereich, wenn sie in einem Standardmodul oder Formularmodul mit dem Schlüsselwort Public als öffentlich deklariert wird. Eine Variable hat den Gültigkeitsbereich Modulebene, wenn sie in einem Standardmodul oder Formularmodul mit dem Schlüsselwort Private als privat deklariert wird.
Die Namen von Konstanten sollten Groß- und Kleinschreibung enthalten, wobei jedes Wort mit einem Großbuchstaben beginnen sollte. Obwohl die Namen von Visual Basic-Standardkonstanten nicht den Datentyp und Gültigkeitsbereichsinformationen beinhalten, können Präfixe wie i, s, g und m das Verständnis des Wertes und Gültigkeitsbereichs einer Konstante beträchtlich erleichtern. Befolgen Sie bei Konstantennamen die gleichen Regeln wie bei Variablennamen, z.B.:
mnBenutzerlisteMax 'Max. Länge der Benutzerliste (Integer, lokal im Modul)
gsZeilenumbruch 'Zeilenumbruchzeichen (Zeichenfolge, global in Anwendung)
Wenn Sie alle Variablen deklarieren, können Sie Programmierzeit sparen, da Sie die durch Tippfehler verursachten Programmfehler vermindern (z.B. durch Eingabe von aUserNameTmp, sUserNameTmp und sUserNameTemp). Aktivieren Sie in der Registerkarte Editor des Dialogfelds Optionen das Kontrollkästchen Variablendeklaration erforderlich. Die Anweisung Option Explicit hat zur Folge, daß alle Variablen in Ihrem Visual Basic-Programm deklariert werden müssen.
Variablen sollten ein Präfix erhalten, das auf ihren Datentyp hinweist. Besonders bei großen Programmen kann das Präfix auch erweitert werden, um den Gültigkeitsbereich der Variable anzugeben.
Verwenden Sie die folgenden Präfixe, um den Datentyp einer Variablen anzugeben.
Datentyp |
Präfix |
Beispiel |
Boolean |
bln |
blnGefunden |
Byte |
byt |
bytRasterdaten |
Collection-Objekt |
col |
colWidgets |
Currency |
cur |
curUmsatz |
Date (Time) |
dtm |
dtmStart |
Double |
dbl |
dblToleranz |
Error |
err |
errBestellnummer |
Integer |
int |
intMenge |
Long |
lng |
lngDistanz |
Object |
obj |
objAktuell |
Single |
sng |
sngDurchschnitt |
String |
str |
strDateiname |
Benutzerdefinierter Typ (user-defined type) |
udt |
udtPersonal |
Variant |
vnt |
vntPrüfsumme |
Variablen- oder Prozedurennamen sollten Groß- und Kleinschreibung enthalten, und sie sollten so lang wie nötig sein, um den Zweck der Variablen oder Routinen zu beschreiben. Außerdem sollten Funktionsnamen mit einem Verb beginnen, wie z.B. InitNamensfeld oder SchließenDialog.
Für häufig verwendete oder lange Namen sind Standardabkürzungen zu empfehlen, um die Länge der Namen in Grenzen zu halten. Im allgemeinen sind Variablennamen, die mehr als 32 Zeichen umfassen, auf VGA-Bildschirmen schwierig zu lesen.
Wenn Sie Abkürzungen verwenden, sollten Sie in der ganzen Anwendung auf Konsistenz achten. Wenn Sie z.B. innerhalb eines Projekts zwischen Anz und Anzahl hin- und herwechseln, schaffen Sie unnötige Verwirrung.