Как мне лучше организовать эти два последовательных утверждения IF? - PullRequest
2 голосов
/ 29 июля 2011

Я хотел бы лучше организовать следующие два if заявления:

if(A || B){
    do stuff...
}

if(A && ! B){
    do other stuff...
}

Есть ли лучший способ?

РЕДАКТИРОВАТЬ : ! до B во втором утверждении, извините ...

Ответы [ 2 ]

6 голосов
/ 29 июля 2011
if( A || B ) {
    do some stuff;
    if( !B ) {
        do other stuff;
    }
}

Но преимущества зависят от использования, может быть сложнее понять эту версию.

2 голосов
/ 29 июля 2011

Для исходного вопроса, где вторым условием было A && B, мой ответ:

Если ничего другого, вы можете вкладывать второй блок в первый, чтобы избежать ненужной оценки, если первое условие не выполняется,В противном случае, я не вижу хорошего способа сократить это ... и вложение предполагает, что код в первом блоке не обновляет A и B, и это может произойти.

По новому вопросу, мой ответсостоит в том, чтобы вставить блок в первый, который проверяет! B, и опустить второй блок.Это эквивалентно другому ответу, который был дан на новый вопрос.

...