Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Guter Programmierstil

von RedakteurMaoSeite 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.

 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  6  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 08.06.2007 von RedakteurMao angelegt.
  • Die aktuellste Version wurde am 25.09.2009 von AdministratorSebastian gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen