1.Decompose Conditional(分解条件表达式)
2.Consolidate Conditional Expressions(合并条件表达式)
3.Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
4.Remove Control Flag(移除控制标记)
5.Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
6.Replace Conditional with Polymorphism(以多态取代条件表达式)
7.Introduce Null Object(引入null对象)
8.Indroduce Assertion(引入断言)
1.Decompose Conditional(分解条件表达式)
当有复杂的if else判断时,应该将条件判断抽成方法,使代码思路更清晰,即使是简短的判断,抽成方法也会对代码的可读性起到很大的提升作用.
|
|
像这个例子不知道会不会有点过头了?
2.Consolidate Conditional Expressions(合并条件表达式)
当众多条件的结果是一样时,应将其合并为一个方法.
|
|
3.Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
条件判断中相同部分的代码应该移出条件表达式,这样你能看出来哪些是一样的哪些是不一样的。
|
|
这个哥一直是这样做的:)
4.Remove Control Flag(移除控制标记)
可以使用break,continue或return来替换控制标签,增强代码可读性
|
|
5.Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
用卫语句代替所有特殊的case。卫语句:check the condition and return if the condition is true
|
|
6.Replace Conditional with Polymorphism(以多态取代条件表达式)
|
|
7.Introduce Null Object(引入null对象)
当每次取数据时如果都要去判空的话会非常耗体力,并且代码非常难看,还有可能有漏掉的情况。这时可以引入一个null对象来解决,null是在对象没有值时的默认值,省去判空的动作,easying+happy呀
|
|
8.Indroduce Assertion(引入断言)
通过断言来调试
|
|