Это не про существующий фрагмент кода, но я ищу некоторый шаблон, который может существовать в том случае, если некоторые вложенные if
выполняют одно и то же в своем заявлении else
.Рефтор несколько вложенных, если с одним и тем же другим
if(condition1(a)) {
doSomethingWith1(a);
if(condition2(a)) {
doSomethingWith2(a);
} else {
elseFn();
}
} else {
elseFn();
}
В doSomethingWith...
функции изменения значения из a
, что делает его сложным, чтобы иметь все условия в одном if
.
Так что мне просто интересно, есть ли более четкий способ написать его (на C, если это возможно).
Спасибо, ребята
Конечно, есть другой способ сделать это! Существуют альтернативы _always_ с логикой Boolean. Для широкого примера см. [Законы Де Моргана] (https://en.wikipedia.org/wiki/De_Morgan%27s_laws); для конкретных примеров см. другие ответы на этот вопрос. Кроме того, зачем копировать код вопроса в ответ? – jaco0646