|
Einsendung:
Darf man Endlosschleifen benutzen?
Mir wurde anfangs beigebracht: Programmiere keine Sprünge in Dein Programm. Dies würden Sie aber mit
letztendlich machen. Sonst kommen Sie aus der Schleife nicht wieder heraus.
Korrekt erkannt. Nach den klassischen Regeln des strukturierten Programmierens war diese Endlosschleife böse, ganz böse. Aber ich bin der Meinung, daß diese Regeln zum großen Teil veraltet sind. Man muß wirklich versuchen, irgendwie Klarheit in seine Programme zu bekommen. Wenn man dazu von den althergebrachten Regeln abweichen muß, dann muß es eben sein. Recht deutlich wird das in der Lektion "logische Ausdrücke". Eigentlich soll man nämlich nicht direkt aus einer Funktion mit return herausgehen, sondern das nur ganz am Ende der Funktion machen. Sie werden aber zugeben müssen, daß der Trick mit dem direkt Herausspringen das Programm viel klarer macht. Das wäre sicher nicht mehr der Fall, wenn die Funktion über mehrere Bildschirme ginge. So, wie das früher oft zu sehen war. Aber diese Zeiten sind vorbei. Die meisten Funktionen passen bequem auf einen Bildschirm und davon sind die meisten kürzer als 6 Zeilen. Das liegt daran, daß man so viel Funktionalität in die Klassen legen kann. Jetzt ist einfach ein anderer Stil angesagt. Die Version
endlosschleife
mensch zieht
wenn gewonnen
ausgabe mensch hat gewonnen
ende
rechner zieht
wenn gewonnen
ausgabe rechner hat gewonnen
ende |
ist sehr übersichtlich. Das liegt an der Gleichartigkeit der beiden Teile (mensch und rechner). Das Programm ist sozusagen "langweilig", und das ist überhaupt das beste, was einem Programm passieren kann. So ein langweiliges Programm kann nämlich keine Fehler haben.
Schreiben Sie "langweilige" Programme!
Würde man den Sprung (ende) vermeiden wollen, dann sähe das ungefähr so aus:
schleife solange keiner gewonnen hat
mensch zieht
wenn gewonnen
ausgabe mensch hat gewonnen
sonst
rechner zieht
wenn gewonnen
ausgabe rechner hat gewonnen |
Ich halte die zweite Version für schwieriger zu verstehen. Das ist der ganze Grund für die häßliche Endlosschleife. Fazit: Vergessen Sie alle Stilregeln, die Sie von Pascal kennen. Das gilt auch für Regeln, die Ihr EDV-Lehrer von Pascal kennt und sie einfach nach C++ übertragen hat. Entscheiden Sie jedesmal von Neuem unter dem Aspekt, was am einfachsten zu verstehen ist. Die bloße Einfachheit Ihrer Programme vermeidet Fehler wesentlich wirkungsvoller, als es eine starre Form könnte. Lesen Sie fremden Code, um neue Ideen zu bekommen, wie man etwas einfacher schreiben kann.
Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann
schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version]
[inhalt]
[index]
[Fehlerkorrektur, Verbesserungsvorschlag]
© Volkard Henkel <volkard@normannia.de>,
last update: 08/25/00
|
|