Я, здається, бачу це досить часто у своєму коді та інших. Нічого в цьому немає, що здається жахливо неправильним, але це мене дратує, як здається, це можна зробити краще. Я припускаю, що випадок випадку може мати трохи більше сенсу, але часто змінна - це тип, який не працює добре або зовсім не з заявами про регістри (залежно від мови)
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-else відбувається, це означає, що ви робите щось не так?
if (Flag == true)а не просто If (Flag)? Якщо ви вважаєте, що If (Flag == true)це краще, чому б і ні if ((Flag == true) == true)?