Ich sehe das oft genug in meinem Code und anderen. Es gibt nichts, was schrecklich falsch scheint, aber es ärgert mich, da es so aussieht, als ob es besser gemacht werden kann. Ich nehme an, eine case-Anweisung mag etwas sinnvoller sein, aber häufig ist variable ein Typ, der mit case-Anweisungen (je nach Sprache) nicht gut oder überhaupt nicht funktioniert.
If variable == A
if (Flag == true)
doFooA()
else
doFooA2
else if variable == B
if (Flag == true)
doFooB()
else
doFooB2
else if variable == C
if (Flag == true)
doFooC()
else
doFooC2
Es scheint, dass es mehrere Möglichkeiten gibt, dies zu "faktorisieren", z. B. zwei Sätze von If-Elses, wobei ein Satz behandelt, wenn Flag == true ist.
Gibt es einen "guten Weg", dies zu berücksichtigen, oder wenn dieser If-else-Algorithmus auftritt, bedeutet dies normalerweise, dass Sie etwas falsch machen?
if (Flag == true)
eher schreiben als nur If (Flag)
? Wenn Sie denken, dass If (Flag == true)
das besser ist, warum nicht if ((Flag == true) == true)
?