我经常遇到这种情况,我有一个复杂的 if 语句,其中包含很多内部 if 语句和大量重复代码。它基本上归结为我有一堆案例和基于这些语句执行的某些代码块,但如果不同的条件为真,那么我希望这些代码块在不同的条件下执行。这是一个通用示例:
if (condition) {
    if (conditionA) {
        codeBlockW;
    }
    else if (conditionB) {
        codeBlockX;
    }
    else if (conditionC) {
        codeBlockY;
    }
    else if (conditionD) {
        codeBlockZ;
    }
}
else {
    if (conditionA) {
        codeBlockZ;
    }
    else if (conditionB) {
        codeBlockY;
    }
    else if (conditionC) {
        codeBlockX;
    }
    else if (conditionD) {
        codeBlockW;
    }
}