1、Decompose Conditional(分解条件表达式)
将if表达式抽离成函数,然后将if、else中的代码段提炼为各自独立的函数。
2、Consolidate Conditional Expression(合并条件表达式)
如果一系列条件测试都得到相同结果,那么将这些测试合并为一个条件表达式,并将这个条件表达式提炼为一个独立函数。
例如:
3、Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
在条件表达式的每个分支上有着相同的一段代码。将这段重复代码搬移到条件表达式外。
4、Remove Control Flag(移除控制标记)
在一系列布尔表达式中,某个变量带有“控制标记”的作用,则以break语句或者return语句取代控制标记。
5、Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套表达式)
函数中的条件逻辑使人难以看清正常的执行路径,使用卫语句表现所有特殊情况。
例子:
卫语句:如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常常被成为“卫语句”
6、Replace Conditional With Polymorphism(以多态取代条件表达式)
你手上有个条件表达式,他根据对象类型的不同而选择不同的行为。将这个条件表达式的每个分支放进一个子类内的覆写函数中,然后将原始函数声明为抽象函数。
做法:
7、Introduce Null Object (引入Null对象)
8、Introduce Assertion(引入断言)
9、总纲