Kürzlich bin ich auf den folgenden C++-Code gestoßen:
if (a)
{
f();
}
else if (b)
{
f();
}
else if (c)
{
f();
}
Dabei sind a, b und c unterschiedliche Bedingungen, die nicht sehr kurz sind.
Ich habe versucht, den Code zu ändern:
if (a || b || c)
{
f();
}
Der Autor war jedoch dagegen und meinte, dass meine Änderung die Lesbarkeit des Codes beeinträchtigen würde. Ich hatte zwei Argumente:
1) Man sollte die Lesbarkeit nicht erhöhen, indem man eine Verzweigungsanweisung durch drei ersetzt (obwohl ich wirklich bezweifle, dass es möglich ist, den Code lesbarer zu machen, indem man else if anstelle von || verwendet).
2) Es ist nicht der schnellste Code, und kein Compiler wird ihn optimieren.
Aber meine Argumente haben ihn nicht überzeugt.
Was würden Sie einem Programmierer sagen, der einen solchen Code schreibt?
Glauben Sie, dass ein komplexer Zustand eine Entschuldigung für die Verwendung von sonst wenn anstelle von OR ?