跳至主要內容

简化条件表达式

引领潮流大约 1 分钟重构-改善代码设计archive

原则:“分支逻辑” 和 “操作细节” 分离

1)分解条件表达式 要点:你有一个复杂条件(if-then-else)语句 2)合并条件表达式 要点:你有一系列条件测试,都得到相同结果 3)合并重复的条件片段 要点:在条件表达式分支上都有着相同的一段代码 4)移除控制标志 要点:在一些列布尔表达式中,某个变量带有“控制标记”的作用 方案:以break语句或return语句取代控制标记 5)以卫语句(函数)取代嵌套条件表达式 要点:函数中条件逻辑使人难以看清正常的执行路径 方案:if .... return.... 条件罕见,难以触发 6)以多态取代条件表达式 要点:你手上有个条件表达式,它根据对象类型的不同而选择不同行为 方案:策略模式 多态好处:如果你需要根据对象的不同类型而采取不同行为,多态使你不必编写明显的条件表达式 (省略条件表达式 switch / if ...then...) 7)引入Null对象(空值校验,引入默认值) 要点:你需要再三检查某对象是否为null 方案:将null值替换为null对象 8)引入断言 要点:某一段代码需要对程序状态做出某种假设 方案:增强校验