重构摘要6_重新组织函数

Extract Method 提炼函数

过长的函数或者一段需要注释才能理解的代码,就将这段代码放进一个独立的函数中。

  • 函数粒度小,复用机会变大,覆写容易。

  • 高层函数如一系列注释

关键看函数名称和函数本体之间的语义距离。

变清晰,做什么来命名

Inline Method 内联函数

有时可内联到一个大函数后,再从中提炼出组织合理的小型函数。

Inline Temp 内联临时变量

return (order.basePrice>0); //可定义final确定是否被赋值一次

Replace Temp with Query 以查询取代临时变量

Introduce Explain Variable 引入解释性变量

表达式有可能复杂且难以阅读。

Split Temporary Variable 分解临时变量

做到每个变量只承担一个责任

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

以一个临时变量取代该参数的位置

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

参数就变成了对象的字段,在这个对象中大型函数可以分解为多个小型函数。

Substitute Algorithm 替代算法

将函数本体替换为另一个算法,复杂的可以先分解为小型函数

说明

  • 《重构-改善既有代码的设计》Martin Fowler 摘要: 第六章 重新组织函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值