Я, кажется, вижу это достаточно часто в своем коде и других. В этом нет ничего ужасного, но меня это раздражает, поскольку кажется, что это можно сделать лучше. Я предполагаю, что оператор case может иметь немного больше смысла, но часто переменная является типом, который не работает хорошо или вообще не работает с операторами case (в зависимости от языка)
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
Кажется, есть несколько способов «учесть» это, например, 2 набора if-elses, где один набор обрабатывает, когда Flag == true.
Есть ли «хороший способ» это учесть, или, возможно, когда происходит алгоритм «если-то еще», это обычно означает, что вы делаете что-то не так?
if (Flag == true)
а не просто If (Flag)
? Если вы думаете, что If (Flag == true)
лучше, то почему бы и нет if ((Flag == true) == true)
?