Java 如何优化if语句嵌套

我们平时写if,switch或for语句是常有的事儿,也一定写过多层if或for语句嵌套的情况,如果代码里的嵌套超过3层,阅读起来就会非常困难了。我们应该尽量避免代码嵌套多层,最好不要超过2层。

if语句嵌套的问题

多层if语句嵌套是常有的事情,有什么好的方法可以减少嵌套呢?

[color=red]1 尽早终止函数或返回数据[/color]

如果符合某个条件下可以直接终止函数,则应该将这个条件放在第一位。我们来看看下面的例子。



if(condition1) {
if(condition2){
if(condition3){
}
else{
return;
}
}
else{
return;
}
}
else {
return;
}


这段代码中if语句嵌套了3层,看起来已经很复杂了,我们可以将最后面的return提取到最前面去。


if(!condition1){
return;
}
if(!condition2){
return;
}
if(!condition3){
return;
}
//doSomething

这段代码中,我们把condition1等于false的语句提取到前面,直接终止函数,将多层嵌套的if语句重构成只有一层if语句,代码也更清晰了。

注意:一般情况下,我们写if语句会将条件为true的情况写在前面,这也比较符合我们的思维习惯。如果是多层嵌套的情况,应该优先减少if语句的嵌套

[color=red]2 提取内层嵌套为一个函数进行调用
[/color]

多层嵌套的时候,我们还可以将内层嵌套提取到一个新的函数中,然后调用该函数,这样代码也就更清晰了。

原文地址:[url]http://luopq.com/2016/02/21/write-good-function/[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值