August 14, 2011 0

Visual Basic Altlasten I: Rückgabewerte

By in Best practice, VB.NET

Es gibt ein paar Dinge, die die Redmondianer bei der Einführung von VB.NET vom alten Visual Basic übernommen haben, die man sich aber besser abgewöhnen sollte.

Als erstes wäre da der Rückgabewert von Funktionen…

Aus JAVA, PHP und weiteren Sprachen kennen Sie es, dass man per return-Befehl den Ergebniswert zurückgibt.
Streng genommen passiert hier zweierlei:

  1. Rückgabewert:
    Der Rückgabewert wird definiert bzw. das Rückgabeobjekt bestimmt
  2. Terminierungsbefehl:
    Die Funktion wird beendet und die Aufrufende Funktion/Methode setzt ihre Befehlr-Abarbeitung fort.

Nun zur eigentlichen Altlast: In VB.NET kann folgender Code anstelle des return-Befehls verwendet werden:

  Private Function test1() As String
    Dim test2 As String
    test1 = "Hallo "
    test2 = "Welt"
  End Function

Haben Sie es gemerkt? test1 ist der Name der Funktion und nicht etwa einer Variablen.
Die Funktion test1 terminiert nach Zeile 3 und Zeile 4 wird niemals ausgeführt!
Die Zuweisung des Rückgabewerts kann man in Zeile 3 mit etwas gutem Willen noch erkennen. Aber die Terminierungsanweisung ist nun wirklich nicht ersichtlich.

Aus diesem Grund verwende ich lieber den return-Befehl:

  Private Function test1() As String
    return "Hallo "
  End Function

Leave a Reply