代码重构之嵌套终极之无敌嵌套if else优化

1.当你看到老项目的这种代码,if 嵌套 if 嵌套 if 嵌套 if 无穷无尽的嵌套

比如像下面这种的。一顿操作猛如虎,到后来怀疑自己二百五。

 

分析:其实我们仔细看看上面的判断语句,它们都是在 if 里面的条件是真的情况才执行,也就是说它们都是走的正常情况,才会导致这么无限嵌套下去,那么我们从反面思考是不是就可以终止这种情况呢?也就是我们把不正常的条件先摘出来处理,剩下的就都是正常情况了。这其实就是卫语句的思考模式,也就是逆向思考。卫语句可以减少 if-else 语句嵌套的情况出现。所以在阿里巴巴 Java 规范里也写到 “多层条件语句建议使用卫语句、策略模式、状态模式等方式重构。”

面对这种情况,我们想要优化的时候,就可以使用do while()循环来解决这个问题,需要注意的是,while(false)里面需要写false,同时要将条件进行取反。具体看下面的使用方法。

可以将else的语句写进if里面。

可以参考

什么是卫语句?更优雅的代码方式 - 云+社区 - 腾讯云不知你有没有被多层嵌套的 if-else 语句所折磨过,就像下面这种 “横放着的金字塔”:icon-default.png?t=LBL2https://cloud.tencent.com/developer/article/1783577

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值