简化条件表达式
- Decompose Conditional(分解条件表达式)
- Consolidate Conditional Expression(合并条件表达式)
- Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
- Remove Control Flag(移除控制标记)
- Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
- Replace Conditional with Polymorphism(以多态取代条件表达式)
- Introduce Null Object (引入Null对象)
- Introduce Assertion(引入断言)
Decompose Conditional(分解条件表达式)
- 现象:你有一个复杂的条件(if-then-else)语句
- 做法:从if,then,else三个段落中分别提炼出独立函数
- 复杂的条件逻辑是最常导致复杂度上升的地点之一
Consolidate Conditional Expression(合并条件表达式)
- 现象:你有一系列条件测试,都得到相同结果
- 做法:将这些测试合并为一个条件表达式,并将这个条件表达式提炼成为一个独立函数
- 如果你认为这些检查的确彼此独立,的确不应该被视为同一次检查,那么就不要使用本项重构。因为,这种情况下,你的代码已经清楚表达出自己的意义。
Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
- 现象:在条件表达式的每个分支上有着相同的一段代码
- 做法:将这段重复代码搬移到条件表达式之外
Remove Control Flag(移除控制标记)
- 现象:在一系列布尔表达式中,某个变量带有“控制标记”(control flag)的作用<