在 C、C++ 和 C# 中,当在函数或循环语句中使用条件时,可以使用continue or return尽早声明并摆脱else一个的分支if-else陈述。例如:
while( loopCondition ) {
if( innerCondition ) {
//do some stuff
} else {
//do other stuff
}
}
becomes
while( loopCondition ) {
if( innerCondition ) {
//do some stuff
continue;
}
//do other stuff
}
and
void function() {
if( condition ) {
//do some stuff
} else {
//do other stuff
}
}
becomes
void function() {
if( condition ) {
//do some stuff
return;
}
//do other stuff
}
如果 if-else 分支很长,“after”变体可能更具可读性,因为这种更改消除了 else 分支的缩进。
这样使用 return/continue 是个好主意吗?是否存在任何可能的维护或可读性问题?
我个人选择的方法是,如果身体if
部分非常短(最多 3 或 4 行),使用return/continue
变体。如果主体很长,就很难跟踪控制流程,所以我选择else
版本。
因此,通常这种方法限制了return/continue
样式为跳过一些数据并避免进一步处理而不是使用以下方法之一进行处理(这更适合if/else
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)