Mi sembra di vederlo abbastanza spesso nel mio codice e in altri. Non c'è nulla che sembri terribilmente sbagliato, ma mi dà fastidio dato che sembra che possa essere fatto meglio. Suppongo che un'istruzione case, potrebbe avere un po 'più di senso, ma spesso la variabile è un tipo che non funziona bene o affatto con le istruzioni case (a seconda della lingua)
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
Sembra che ci siano molti modi per "fattorizzare" questo, come ad esempio 2 set di if-elses, in cui un set gestisce quando Flag == true.
Esiste un "buon modo" per tener conto di questo, o forse quando questo algoritmo if-else si verifica di solito significa che stai facendo qualcosa di sbagliato?
if (Flag == true)
piuttosto che solo If (Flag)
? Se pensi che If (Flag == true)
sia meglio, perché no if ((Flag == true) == true)
?