Je semble voir cela assez souvent dans mon code et dans d'autres. Il n'y a rien à ce sujet qui semble horriblement mal, mais cela m'énerve car il semble que cela peut être mieux fait. Je suppose qu'une déclaration de cas peut avoir un peu plus de sens, mais souvent la variable est un type qui ne fonctionne pas bien ou pas du tout avec les déclarations de cas (selon la langue)
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
Il semble qu'il existe plusieurs façons de «factoriser» cela, comme 2 ensembles de if-elses, où un ensemble gère lorsque Flag == true.
Existe-t-il un "bon moyen" de prendre cela en compte, ou peut-être que lorsque cet algorithme if-else se produit, cela signifie généralement que vous faites quelque chose de mal?
if (Flag == true)
plutôt que juste If (Flag)
? Si vous pensez que If (Flag == true)
c'est mieux, pourquoi pas if ((Flag == true) == true)
?