Explizites Codieren - Initialisierung
Initialisieren IMMER Variablen
Man sollte nie die implizite Initialisierung von Variablen voraussetzen. Nummerische Variablen werden durch die Deklaration normalerweise mit 0 und String-Variablen mit einem Leerstring initialisiert. Aber bleibt dies so auch in späteren Versionen bestehen? Wie wird eine Variant- oder Objekt-Variable initialisiert?
Was passiert, wenn VB Code nach VB-Script oder eine andere Sprache portiert wird? Erfolgt dort auch diese implizite Initialisierung?
Es gibt noch eine Reihe anderer Fragen, so dass die einzig korrekte Antwort das explizite Initialisieren von Variablen ist. Dies ist nicht nur direkt nach der Deklaration notwendig, sondern auch vor deren Nutzung.
For i = LBound(MyArray) To UBound(MyArray) s = s & MyArray(i) Next
Wie kann man sicher sein, dass in die Variable s zu Beginn der Schleife leer ist? Vor allem in großen Codemodulen kann es schon mal passieren, dass eine Variable mehrfach benutzt wird. Eine simple Initialisierung schafft hier Abhilfe:
s = ""
For i = LBound(MyArray) To UBound(MyArray)
s = s & MyArray(i)
Next
Hinweis: Objektvariable sollten direkt nach ihrer Deklaration mit Nothing initialisiert werden.
Dim objMyObject As Object Set objMyObject = Nothing