6.1 extract method
来源:互联网 发布:淄博seo诊断公司 编辑:程序博客网 时间:2024/05/16 09:08
动机:
首先,如果每个函数的粒度都很小,那么函数被复用的机会就更大。
其次,这会使高层函数读起来就像一系列注释。
再次,如果函数都是细粒度,那么函数的覆写也会更容易些。
做法:
创造一个新函数,根据这个函数的意图来对它命名。
将提炼出的代码从源函数复制到新建的目标函数中。
仔细检查提炼出的代码,看看其中是否引用了“作用域限于源函数”的变量
检查是否有“仅用于被提炼代码段”的临时变量。如果有,在目标函数中将它们声明为临时变量。
检查被提炼代码段,看看是否有任何局部变量的值被它改变。如果一个临时变量值被修改了,看看是否可以将被提炼代码段处理为一个查询,并将结果赋值给相关变量。如果很难这样做,或如果被修改的变量不止一个,你就不能仅仅将这段代码原封不动地提炼出来。你可能需要先使用split temporary variable,然后再尝试提炼。也可以使用replace temp with query将临时变量消灭掉。
将被提炼代码段中需要读取的局部变量,当作参数传给目标函数。
处理完所有局部变量之后,进行编译。
在源函数中,将被提炼代码段替换为对目标函数的调用。
范例:无局部变量
略
范例:有局部变量
略
范例:对局部变量再赋值
被复制的临时变量也分为两种情况:
1.这个变量只在被提炼代码段中使用。可以将这个临时变量的声明移到被提炼代码段中,然后一起提炼出去。
2.被提炼代码段之外的代码也使用了这个变量。如果这个变量在被提炼代码段之后未再被使用,只需要直接在目标中修改它就可以了;如果被提炼代码段之后的代码还使用了这个变量,需要让目标函数返回该变量改变后的值。
- 6.1 extract method
- Extract Method
- Extract Method
- 6.1 Extract Method(提炼函数)
- 重构--Extract Method
- Extract Method( 提炼函数 )
- 提炼方法 Extract Method
- 重构:Extract Method
- 重构-Extract Method
- 重构:Extract Method
- Extract Method 提炼函数
- 重构代码--Extract Method
- Eclipse Extract Method 方法实现 (一)
- Eclipse Extract Method 方法实现(二)
- 方法一:Extract Method(提炼函数)
- java 代码细节(Extract Method)
- 读书笔记-重构 - Extract Method(提炼方法)
- Android Studio 技巧之【Extract Method】
- 云计算定义
- IPC--信号操作-example
- Linux标准输入,标准输出文件
- 起笔始于熟虑;混乱始于心急
- 网页图片宽度和高度自适应的方法汇总
- 6.1 extract method
- 工作心得:访问不了烟草ip
- 详细讲解Orcale NUMBER类型
- ubuntu下单机安装MongoDB并测试
- 表单中PAGE点击后加载内容,可防止内容多个表单PAGE页同时加载慢
- IOCP编程之基本原理
- map--初步学习STL
- C++实现的委托机制(3)
- DLL导出类