Ralf Hüsing

Januar 5, 2007

übersichtlichere if-Verschachtelungen

Abgelegt unter: Programmierung — ralf @ 6:34 pm

Mir passiert es häufig das ich viele Bedingungen innerhalb einer Funktion Prüfen muss die, wenn sie alle Falsch sind, zu einer Funktionsbeendigung führen.

Anfänglich hatte ich Code in etwa wie folgt:

if (dies) {
  if (jenes) {
    if (nochetwas) {
       return TRUE;
    }
  }
}

/* normaler Funktionsablauf */

Nun kann man die if’s natürlich zusammenfassen:

if (a && b && c && d) { .. }

Bei sehr vielen solcher Vergleiche bzw. wenn die Länge eines Vergleichs relativ lang wird, wird es sehr schnell unübersichtlich:

if (tolle_funktion_prueft_etwas() && eine_andere_funktion(mit,parameter) && .... ) { .. }

Heute Nachmittag hatte ich die Idee einer Pseudo-Schleife die Breite des Codes deutlich minimiert:

for (;;) {
  if (dies)
    break;
  if (jenes)
    break;
  if ...

  return TRUE;
}

/* normaler funktions ablauf */

Dies ermöglicht zum einen saubereres Kommentieren und zum anderen Übersichtlichkeit nach unten statt nach rechts.

Powered by WordPress ( WordPress Deutschland )