简化条件表达式相关重构手法
1.decompose conditional(分解条件表达式)(你有一个复杂的条件if then else语句,从if then else 中提炼出独立的函数)
如
2.consolidate conditional expression(合并条件表达式)(你有一系列的条件 测试都得到相同的结果。把这些测试合并为一个条件表达式,并将这个条件表达式提炼为一个独立的函数)
3.consolidate duplicate conditional fragments(合并重复的条件片段)(在条件表达式的每个分支上有着相同的一段代码。把这段成都代码搬移到条件表达式之外)
4.remove control flag(移除控制标记)(在一系列布尔表达式中,某个变量带有控制标记的作用。以break 或者 retuern 代替控制标记)
如
5.replace nesten conditional with guard clauses(用 卫语句取代嵌套条件表达式。函数中的条件逻辑使人难以看清正常的执行路径。使用卫语句来表现所有特殊情况)
如
6.replace conditional with polymorphism(多态替代条件表达式)(你有个条件表达式 他们根据对象类型 的不同而选择不同的行为。把这个条件表达式的每个分支放进一个子类内的重写函数中,然后把原始的函数申明为一个抽象函数)
7.introduce null object(引入null对象)(你需要再三检查某对象是否为null。把null值替换为null对象)
8.introduce assertion(引入断言)(某一段代码需要对程序状态做出某种假设。用断言来表现这种假设)