重构-改善既有代码的设计-简化条件表达式

简化条件表达式相关重构手法

 

1.decompose conditional(分解条件表达式)(你有一个复杂的条件if then else语句,从if then else 中提炼出独立的函数)

110618_WJUt_1391394.png

2.consolidate conditional expression(合并条件表达式)(你有一系列的条件 测试都得到相同的结果。把这些测试合并为一个条件表达式,并将这个条件表达式提炼为一个独立的函数)

3.consolidate duplicate conditional fragments(合并重复的条件片段)(在条件表达式的每个分支上有着相同的一段代码。把这段成都代码搬移到条件表达式之外)

4.remove control flag(移除控制标记)(在一系列布尔表达式中,某个变量带有控制标记的作用。以break 或者 retuern 代替控制标记)

111200_gAfL_1391394.png

5.replace nesten conditional with guard clauses(用 卫语句取代嵌套条件表达式。函数中的条件逻辑使人难以看清正常的执行路径。使用卫语句来表现所有特殊情况)

6.replace conditional with polymorphism(多态替代条件表达式)(你有个条件表达式 他们根据对象类型 的不同而选择不同的行为。把这个条件表达式的每个分支放进一个子类内的重写函数中,然后把原始的函数申明为一个抽象函数)

7.introduce null object(引入null对象)(你需要再三检查某对象是否为null。把null值替换为null对象)

8.introduce assertion(引入断言)(某一段代码需要对程序状态做出某种假设。用断言来表现这种假设)

转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/677060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值