1.当你看到老项目的这种代码,if 嵌套 if 嵌套 if 嵌套 if 无穷无尽的嵌套
比如像下面这种的。一顿操作猛如虎,到后来怀疑自己二百五。
分析:其实我们仔细看看上面的判断语句,它们都是在 if 里面的条件是真的情况才执行,也就是说它们都是走的正常情况,才会导致这么无限嵌套下去,那么我们从反面思考是不是就可以终止这种情况呢?也就是我们把不正常的条件先摘出来处理,剩下的就都是正常情况了。这其实就是卫语句的思考模式,也就是逆向思考。卫语句可以减少 if-else 语句嵌套的情况出现。所以在阿里巴巴 Java 规范里也写到 “多层条件语句建议使用卫语句、策略模式、状态模式等方式重构。”
面对这种情况,我们想要优化的时候,就可以使用do while()循环来解决这个问题,需要注意的是,while(false)里面需要写false,同时要将条件进行取反。具体看下面的使用方法。
可以将else的语句写进if里面。
可以参考