重构手法一重新组织函数

1. Extract Method 提炼方法

过长的函数或者有需要写注释才能让人理解用途的地方,提炼加强代码的清晰度

1)创造新函数命名

2)提炼代码拷入

3)检查代码中作用域范围的变量

4)局部变量值得改变

5)需要设置参数

6)编译替换测试

2.Inline Method 内联函数

内部代码和函数名称一样很清晰,应该去掉这个函数

1)检查函数 不具有多态

2)找出所有调用点

3)替换为代码本体

4)编译测试删除

3.Inline Temp 内联临时变量

临时变量只被赋值一次 被一个简单的表达式

1)检查确认赋值右边表达式没有副作用

2)尝试设置为final试试能否编译确认只被赋值一次

3)找到引用点替换

4)修改编译测试

4. Replace Temp With Query

以一个临时变量保存某一表达式的运算结果,替换后方便多处引用。

1)找出被赋值一次的变量

2)提取到独立函数

注意3和4的区别,3中是赋值给一个函数返回值,影响其他重构手法时候替换。4是为了方便调用,但最终结果都是类似去掉临时变量。

5. Introduce Explaining Variable引入解释性变量

增加临时变量,解释复杂的一些逻辑

1)声明final临时变量

2)运算结果的一部分替换

6. 分解临时变量

对每次赋值,创造一个独立对应的临时变量,除了循环变量和结果收集变量

1)增加final 修改前者名称

2)以赋值为界 检查

7. Remove Assignments to Parameters 移除对参数的赋值

代码对一个参数进行赋值,以一个临时变量来取代参数的位置。

1)建立临时变量

2)修改赋值语句

8.Replace Method with Method Object 以函数对象取代函数

大型函数,局部变量使用使你无法提取方法,将大型函数放入一个对象,这样局部变量就成了对象内字段,然后就可以在对象内将大型函数分解

强调了小型函数的优美。

9. Substitue Algorithm替换算法

将函数本体替换为另一个算法,更清晰的算法




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值