重构之简化条件表达式2

来源:互联网 发布:网络爱的英文怎么写 编辑:程序博客网 时间:2024/05/16 00:26

      开发的过程中,特别是在进行联合多个条件查询或者进行数据库操作的时候,经常会遇到多条件代码的组合,有时候从正面考虑代码虽然可以

达到要求,但是往往会是条件的堆积,造成程序不易阅读和理解。当遇到这样的情况的时候,可以试着从反面考虑下条件,从条件的反面入手 也许

会给你另一种方法和清晰的思路。下面就上个简单的例子作为参考。

//重构前代码public double getCaptial(){double result=0.0;if(capital>0.0){if(rate>0.0&&duration>0.0){result=(income/duration)*12;}}}     //条件取反后重构代码     public double getCapital(){if(capital<=0.0) return 0.0;if(rate>0.0||duration<=0.0) return 0.0return (income/duration)*12;  }

按照正常逻辑的程序,条件的堆积形成了不好阅读和理解,特别是如果条件过多,程序会形成过程的条件判断,不利于程序的理解和维护,从事情或者条件的反方面着手

也许会有很好的收获。

原创粉丝点击