重构——1提炼函数(Extract Method)

提炼函数(Extract Method)

你有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立的函数中,并让函数名称解释该函数的用途。

一、动机

1、每个函数的粒度都小,那么被复用的几率就大

2、函数的长度不是问题,关键在于函数名称和函数本体之间的语义距离

3、使高层函数读起来向一系列注释

4、如果函数都是细粒度,那么函数覆盖也会更容易些

二、做法

1、创建函数,名字要起好

2、转移代码

3、检查提炼出的代码是否引用了作用域限于原函数的变量(临时变量和源函数参数)

4、检查是否有任何的局部变量的值被提炼出的代码改变,如果有:将被提炼的代码段处理为一个查询,分解临时变量, 以查询取代临时变量

5、将被提炼代码中需要读取的局部变量,当做参数传递给目标函数

6、处理完所有的局部变量之后,进行编译

7、在原函数中,将被提炼代码段替换为对目标函数的调用,删掉多余的临时变量声明

8、编译,测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值