加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何使用函数返回的if-else语句?

发布时间:2020-12-15 04:29:52 所属栏目:Java 来源:网络整理
导读:我总是试图避免嵌套语句. 他们引导我将代码放入长花括号中.当每个条件中的代码量变大时,很难遵循代码. if(condtion) {} else if(condition2) {} else {} 所以,如果我有这样的代码: void doSomething(){ if(condtion) { return; } else if(condition2) { ret
我总是试图避免嵌套语句.

他们引导我将代码放入长花括号中.当每个条件中的代码量变大时,很难遵循代码.

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这样的东西来分离类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读