Arrays - Hartcodierung

Vermeide hart-codierte Array Grenzen

Hart codierte Array-Grenzen erschweren die Pflege des Codes. Wenn sich später die Grenzen ändern, müssen alle Stellen, an denen auf die Array-Grenzen zugegriffen werden, gesucht und überarbeitet werden.

Werden stattdessen Konstanten genutzt, müssen lediglich die Konstanten geändert werden.

Ok, damit könnte man leben:

Option Explicit
 
Sub CountDown()
 
    Dim i               As Integer
    Dim sNums(0 To 10)  As String
 
    sNums(10) = "Zehn"
    sNums(9) = "Nen"
    sNums(8) = "Acht"
    sNums(7) = "Sieben"
    sNums(6) = "Sechs"
    sNums(5) = "Fünf"
    sNums(4) = "Vier"
    sNums(3) = "Drei"
    sNums(2) = "Zwei"
    sNums(1) = "Eins"
    sNums(0) = "Null"
 
'// Countdown von 10 bis 0
    For i = 10 To 0 Step -1
        Debug.Print sNums(i)
    Next
 
End Sub

Folgende Variante ist aber wesentlich pflegbarer:

Option Explicit
 
Sub CountDown()
 
    Const COUNT_MIN         As Integer = 0
    Const COUNT_MAX         As Integer = 10
 
    Dim i                   As Integer
    Dim sNums(COUNT_MIN To _
              COUNT_MAX)    As String
 
    sNums(10) = "Zehn"
    sNums(9) = "Neun"
    sNums(8) = "Acht"
    sNums(7) = "Sieben"
    sNums(6) = "Sechs"
    sNums(5) = "Fünf"
    sNums(4) = "Vier"
    sNums(3) = "Drei"
    sNums(2) = "Zwei"
    sNums(1) = "Eins"
    sNums(0) = "Null"
 
'// Countdown von 10 bis 0
    For i = COUNT_MAX To COUNT_MIN Step -1
        Debug.Print sNums(i)
    Next
 
End Sub