Tutorial
Guter Programmierstil
von Mao | Seite 4 von 6 |
Einrückungen
Betrachten wir uns doch einmal folgenden Codeausschnitt, welcher in der Sektion "Code-Beispiele" unter "Sonstiges" als "Sortieren von Arrays mit BubbleSort" zu finden ist (Natürlich ordentlich eingerückt; Einrückungen wurden nur zu Demonstrationszwecken entfernt!):
Sub BubbleSort (Feld() As Integer)
Dim As Integer i, n, vertauscht
n=UBound(Feld)-1
Do
vertauscht = 0
For i = LBound(Feld) To n
If Feld(i) > Feld(i+1) Then
Swap Feld(i), Feld(i+1)
vertauscht = 1
End If
Next i
n -= 1
Loop While vertauscht
End Sub
Schon allein den Code so zu schreiben, dürfte hakelig werden. Doch spätestens, wenn man ihn verändern oder einfach noch einmal durchgehen möchte, gibt es ernsthafte Probleme.
Einrückungen sorgen dafür, dass man als Programmierer zusammenhängende Dinge sofort erkennt - dem Compiler ist vollkommen egal, wie die Befehle angeordnet sind.
Beim Durchsehen erkennt man, dass es verschiedene Code-"Tiefen" gibt. Eine Sub wie hier könnte beispielsweise die oberste Ebene sein. Der nachfolgende Code sollte sich optisch zugehörig zur Sub zu erkennen geben und damit eine Ebene "tiefer" angeordnet sein. Dann hätte man schonmal folgende Ordnung:
Sub BubbleSort (Feld() As Integer)
Dim As Integer i, n, vertauscht
n=UBound(Feld)-1
' ...
End Sub
Geht man eine Zeile weiter im Code (also nach "n=UBound(Feld)-1"), sieht man den Befehl "Do". Do leitet einen weiteren Befehlsblock ein, also somit auch eine weitere (tiefer gelegene) Ebene:
Sub BubbleSort (Feld() As Integer)
Dim As Integer i, n, vertauscht
n=UBound(Feld)-1
Do
vertauscht = 0
' ...
Loop While vertauscht
End Sub
Das Ganze wird dann immer weiter fortgesetzt, bis man folgendes erhält:
Sub BubbleSort (Feld() As Integer)
Dim As Integer i, n, vertauscht
n=UBound(Feld)-1
Do
vertauscht = 0
For i = LBound(Feld) To n
If Feld(i) > Feld(i+1) Then
Swap Feld(i), Feld(i+1)
vertauscht = 1
End If
Next i
n -= 1
Loop While vertauscht
End Sub
Die Einrückungen sollte man praktischerweise gleich beim Schreiben des Codes setzen und nicht erst danach. ;)
Wieviele Leerzeichen eine "Ebene" sind, ist übrigens nicht fest definiert. Häufig anzutreffen sind jedoch 2 bzw. 4 Leerzeichen oder ein Tabulator (meist 8 Leerzeichen). Tatsache ist jedoch, dass das von Programmierer zu Programmierer unterschiedlich ist.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|