1.Decompose Conditional(分解条件式)
从if、then、else三个段落中分别提炼出独立函数。
2.Consolidate Conditional Expression(合并条件式)
将这些测试合并为一个条件式,并将这个条件式提炼成为一个独立函数。
3.Consolidate Duplicate Conditional Fragments(合并重复的条件片断)
将这段重复代码搬移到条件式之外。
4.Remove Control Flag(移除控制标志)
以break语句或return语句取代控制标志。
5.Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件式)
使用卫语句(guard clauses)表现所有特殊情况。
6.Replace Conditional with Polymorphism(以多态取代条件式)
将这个条件式的每个分支放进一个subclass内的覆写函数中,然后将原始函数声明为抽象函数(abstract method)。
7.Introduce Null Object(引入NULL对象)
将Null Value(无效值)替换成Null object(无效物)。
8.Introduce Assertion(引入断言)
以assertion(断言)明确表现这种假设。