Сравните вложенные условия if и одиночные условия if [дубликаты]

Я работаю над проектом улучшения. Во многих областях я видел людей, использующих вложенные условия if. По моему мнению, это плохая идея, так как мы можем использовать единственное условие If, чтобы сделать то же самое. Есть ли какая-то конкретная причина для использования вложенного условия. Какой из следующих кодов будет эффективным?

if (Condi1== True) {
 if (Condi2== True) {
  if (Condi3== True) {
   int answer = True;
  }
 }
}

OR

if((Condi1== True)&&(Condi2== True)&&(Condi3== True))
{
   int answer = True;
}

person Dinesh Kumar    schedule 14.03.2013    source источник


Ответы (2)


По моему мнению, это плохая идея, так как мы можем использовать единственное условие If, чтобы сделать то же самое.

Прежде чем вы зайдете слишком далеко по этому пути, я предлагаю вам сравнить байт-код, сгенерированный обеими версиями. Вы обнаружите, что это точно так же. Поэтому нет причин предпочитать одно другому. От чего вы можете избавиться, так это от части == True в каждом случае.

person user207421    schedule 14.03.2013

При увеличении количества операторов if или их сложности лучше использовать систему управления правилами, например JBoss Drools.

person Shrenik    schedule 14.03.2013