提炼函数(Extract Method)
你有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立的函数中,并让函数名称解释该函数的用途。
一、动机
1、每个函数的粒度都小,那么被复用的几率就大
2、函数的长度不是问题,关键在于函数名称和函数本体之间的语义距离
3、使高层函数读起来向一系列注释
4、如果函数都是细粒度,那么函数覆盖也会更容易些
二、做法
1、创建函数,名字要起好
2、转移代码
3、检查提炼出的代码是否引用了作用域限于原函数的变量(临时变量和源函数参数)
4、检查是否有任何的局部变量的值被提炼出的代码改变,如果有:将被提炼的代码段处理为一个查询,分解临时变量, 以查询取代临时变量
5、将被提炼代码中需要读取的局部变量,当做参数传递给目标函数
6、处理完所有的局部变量之后,进行编译
7、在原函数中,将被提炼代码段替换为对目标函数的调用,删掉多余的临时变量声明
8、编译,测试
时间: 2024-09-24 07:10:26