Eine Kontrollstruktur bestimmt, in welcher Reihenfolge die Zeilen eines Programms ausgeführt werden und welche übersprungen oder wiederholt werden.
- Kontrollstruktur
Ein Sprachmittel, das die Reihenfolge der Ausführung steuert: nacheinander, verzweigt oder wiederholt.
Beispiel: „Ohne Kontrollstrukturen liefe ein Programm stur von oben nach unten durch.“Auch: Kontrollfluss, wenn der Weg gemeint ist, den die Ausführung nimmt.
Drei Formen, mehr braucht es nicht
Die Folge führt Schritte nacheinander aus. Die Verzweigung entscheidet anhand einer Bedingung, welcher von zwei Wegen genommen wird. Die Wiederholung führt denselben Abschnitt mehrfach aus.
Aus diesen dreien lässt sich jedes Programm bauen. Das ist keine Faustregel, sondern ein bewiesener Satz aus den sechziger Jahren, und er ist der Grund, warum Programmiersprachen sich in diesem Punkt so ähnlich sehen.
Was dazukommt
Praktisch gibt es Abkürzungen. Die Mehrfachverzweigung prüft einen Wert gegen mehrere Fälle, statt Bedingungen zu stapeln. Der vorzeitige Ausstieg verlässt eine Schleife, sobald das Gesuchte gefunden ist.
Dazu kommt die Fehlerbehandlung, die den Ablauf verlässt, wenn etwas schiefgeht, und an einer vorbereiteten Stelle weitermacht. Sie ist der einzige Fall, in dem ein Programm regulär aus der Mitte eines Blocks springt.
Warum zu viele Verschachtelungen Ärger machen
Jede Verzweigung in einer Verzweigung verdoppelt die Zahl der Wege durch den Code. Bei vier Ebenen sind es sechzehn, und niemand hat sie alle im Kopf. Fehler verstecken sich dann in dem Zweig, an den keiner gedacht hat.
In unseren über 2.500 Website-Projekten ist tief verschachtelter Code die häufigste Ursache dafür, dass eine kleine Änderung an einer ganz anderen Stelle etwas kaputt macht. Die übliche Gegenmaßnahme ist, Sonderfälle früh abzufangen und die Hauptsache danach geradeaus zu schreiben.