我总是试图避免嵌套语句.
他们引导我将代码放入长花括号中.当每个条件中的代码量变大时,很难遵循代码.
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;
}
但有人告诉我,我的阅读有点难,哪一个更好?
解决方法:
如果条件是一些快速案例或先决条件,我更喜欢立即返回或抛出没有else语句.例如:
void processArray(int[] array) {
if(array == null || array.length == 0) {
System.out.println("Empty input");
return;
}
// do some complex computations
}
这样,作为主菜的方法的其余部分没有额外的缩进,并且最后没有额外的括号,这可能在else语句之下.
如果条件分支很长并且长度大致相同,那么代码无论如何都会闻起来.你需要重构它将分支提取到方法或(有时更好)使用像Command pattern这样的东西来分离类.
标签:java,conditional,coding-style
来源: https://codeday.me/bug/20190727/1557489.html