我总是尽量避免嵌套语句。
他们引导我将代码放在大括号中。当每种情况下带有的代码量变大时,很难遵循该代码。
if(condtion) {
} else if(condition2) {
} else {
}
所以,如果我有这样的代码:
void doSomething(){
if(condtion) {
return;
} else if(condition2) {
return;
} else {
return;
}
}
我总是将其更改为这种形式(我避免使用,else
因为return
每个条件都有一个声明):
void doSomething() {
if(condtion) {
return;
}
if(condition2) {
return;
}
return;
}
但是有人告诉我,我的阅读有点难,哪个更好?
如果条件是一些快速案例或前提条件,那么我希望立即使用return
或throw
不else
声明。例如:
void processArray(int[] array) {
if(array == null || array.length == 0) {
System.out.println("Empty input");
return;
}
// do some complex computations
}
这样,您的方法的其余部分(即主过程)就没有多余的缩进,并且在结尾处也没有多余的花括号,这些花括号可能位于else
语句下方。
如果条件分支的长度很长,并且长度大致相同,则代码仍然会闻到臭味。您需要对其进行重构,以提取方法的分支,或者(有时更好)使用Command pattern之类的方法来分离类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句