我应该使用 return/continue 语句代替 if-else 语句吗?

37 浏览
0 Comments

我应该使用 return/continue 语句代替 if-else 语句吗?

在C、C++和C#中,在函数或循环语句中使用条件时,可以尽早使用continue或return语句,从而消除if-else语句的else分支。例如:

while( loopCondition ) {
    if( innerCondition ) {
        //执行一些操作
    } else {
        //执行其他操作
    }
}

可以改写为:

while( loopCondition ) {
    if( innerCondition ) {
        //执行一些操作
        continue;
    }
    //执行其他操作
}

以及

void function() {
    if( condition ) {
        //执行一些操作
    } else {
        //执行其他操作
    }
}

可以改写为:

void function() {
    if( condition ) {
        //执行一些操作
        return;
    }
    //执行其他操作
}

如果if-else分支很长,使用“后者”变体可能更易读,因为这种改变消除了else分支的缩进。

使用return/continue这样的方式是个好主意吗?是否存在可能的维护或可读性问题?

0