Graphics Reference
In-Depth Information
sie bei der Ausführung auf eine Variable trifft. Außerdem wird der Code dadurch
leichter lesbar und leichter zu warten.
Anstatt eigene Konstanten zu erstellen, sollten Sie nach Möglichkeit die inte-
grierten Konstanten verwenden, die im Objektkatalog aufgeführt sind. Sie brauchen
sich dann keine Gedanken über Module zu machen, die nicht verwendete Konstan-
ten enthalten: Bei der Erstellung der
*.exe
-Datei werden nicht verwendete Konstan-
ten entfernt.
12.3.5 Übergeben Sie unmodiizierte Argumente als Wert,
nicht als Referenz
Beim Schreiben von Sub- oder Function-Prozeduren, die unmodifizierte Argumente
enthalten, wird der Code schneller, wenn Sie die Argumente mit dem Schlüsselwort
ByVal
als Wert übergeben und nicht als Referenz (
ByRef
). Argumente werden
in Visual Basic standardmäßig als Referenz übergeben, aber relativ wenige Pro-
zeduren ändern die Werte ihrer Argumente tatsächlich. Wenn Sie die Argumente
innerhalb der Prozedur nicht ändern müssen, sollten Sie sie, wie in dem folgenden
Beispiel, mit dem Schlüsselwort
ByVal
definieren:
Private Sub MyProg(ByVal strName As String,
ByVal intAge As Integer)
12.3.6 Nutzen Sie die Vorteile von Aulistungen
Eine der Stärken von Visual Basic sind Auflistungen von Objekten. Solche Auflis-
tungen können sehr hilfreich sein, wenn sie richtig verwendet werden.
Verwenden Sie bevorzugt
For Each...Next
anstelle von
For...Next
.
Vermeiden Sie die benannten Argumente
before
und
after
,wennSieOb-
jekte zu einer Auflistung hinzufügen. Diese Argumente zwingen VisualBasic,
erst ein anderes Objekt in der Auflistung zu finden, ehe das Programm das neue
Objekt hinzufügen kann.
Verwenden Sie bevorzugt Auflistungen mit Schlüsseln anstelle von Datenfeldern
für Gruppen von Objekten des gleichen Typs.
Sie können Auflistungen mithilfe einer
For...Next
-Schleife und einer ganz-
zahligen Zählervariablen mehrmals durchlaufen.
For Each...Next
ist jedoch
lesbarer und in vielen Fällen schneller. Die
For Each...Next
-Iteration wird
durch das Modul implementiert, das die Auflistung erzeugt, sodass sich die tatsäch-
liche Geschwindigkeit von einem Auflistungsobjekt zum anderen unterscheidet.
For Each...Next
ist jedoch selten langsamer als
For...Next
,dadieein-
fachste Implementierung eine lineare Iteration im Stil von
For...Next
ist. Und