How to avoid “if” chains?

Предполагая, что у меня есть этот псевдокод:

bool conditionA = executeStepA();
if (conditionA){
    bool conditionB = executeStepB();
    if (conditionB){
        bool conditionC = executeStepC();
        if (conditionC){
            ...
        }
    }
}

executeThisFunctionInAnyCase();

функцииexecuteStepX должен быть выполнен тогда и только тогда, когда предыдущий будет успешным В любом случаеexecuteThisFunctionInAnyCase Функция должна быть вызвана в конце. Я новичок в программировании, так что извините за очень простой вопрос: есть ли способ (в C / C ++, например), чтобы избежать этого долгоif цепочка, производящая подобную «пирамиду кода», за счет разборчивости кода?

Я знаю, что если бы мы могли пропуститьexecuteThisFunctionInAnyCase вызов функции, код может быть упрощен как:

bool conditionA = executeStepA();
if (!conditionA) return;
bool conditionB = executeStepB();
if (!conditionB) return;
bool conditionC = executeStepC();
if (!conditionC) return;

Но ограничение являетсяexecuteThisFunctionInAnyCase вызов функции. Может лиbreak заявление будет использовано каким-то образом?

Ответы на вопрос(30)

Ваш ответ на вопрос