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