重构组合方法之——提取方法
来源:互联网 发布:百度seo查询 编辑:程序博客网 时间:2024/05/21 07:05
在编程中,最常见的错误基本上来源于方法过长。如果一个方法过长,那它包含的信息量就越大,逻辑就越复杂。解决的办法就是将一个长的方法拆分为多个小的方法,使其职责明确、逻辑清晰和容易阅读。这里所谓的拆分,即为组合方法:一个大的方法由若干个小方法组成。
这里就介绍一个简单的重构:提取方法Extract Method。
- 适用场合:程序中某些代码能够被分为一组。也就是说,这些代码完成一个共同的目标。
- 解决方法:将这样的一组代码提取为一个方法,并赋予它一个有意义的名字,以表达其目的。
- 动机:提取方法是最常见的重构。如果一段代码需要一段注释来描述其功能,那么这段代码就需要被提取成一个方法了。方法应该短小精悍、命名准确。好处有两点:第一,短小方法的粒度更细小,重用的机会更大;第二,使更高层次的方法阅读起来更加容易,如果方法命名良好,那高层次的方法阅读起来就想阅读一连串的自然语言一项赏心悦目。对于一个方法的长度,不在于方法物理意义上的行数,而在于这个方法的名称和方法体所实现的功能之间的语义差距。
接下来就具体介绍一下【提取方法】重构的实施过程。
- 创建一个新方法,并以方法体的意图命名。
- 将要提取的代码从原位置拷贝到目标方法。
- 浏览被提取的代码,其中包含的一些变量的作用范围仅限于原方法,那这些变量就是这个新方法的参数。
- 查看是否存在仅为被提取代码使用的临时变量,如果有,就将其改为目标方法的临时变量。
- 查看被提取的代码是否改变了局部变量。如果只改变了一个,那就将其作为返回值;如果这样做不适合或是改变多个局部变量,那就得【分离临时变量】来限制临时变量的数量了。
- 将那些被提取代码所需的变量作为参数传入目标方法。
- 处理完所有的局部变量后进行编译。
- 在原代码中调用目标函数来替代被提取的代码
- 编译并测试。
这样重构就结束了!
- 重构组合方法之——提取方法
- 重构组合方法之——内联方法
- 重构组合方法之——内联临时变量
- 重构组合方法之——用查询方法代替临时变量
- 【机房重构】——模板方法解决组合查询
- 【机房重构】组合查询——模板方法
- 机房重构—组合查询&模板方法
- 【机房重构】模板方法模式应用—组合查询
- 机房重构之模版方法模式-组合查询
- 机房重构之模版方法实现组合查询
- 【机房重构】组合查询之模板方法
- 重构(组合查询)-模板方法
- C# 重构之一(提取方法重构)
- 机房重构(5)——模板方法实现组合查询
- 【个人机房重构】—— 模版方法实现组合查询
- 组合查询=实体+模板方法——机房重构点滴积累
- 【机房重构】—模板方法+存储过程简单实现组合查询
- 利用组合方法模式重构方法体
- A Brief Survey of Web Data Extraction Tools Web数据抽取工具综述
- 对synchronized(this)的一些理解
- 学习Java编程的三条建议
- java守护进程
- flex 设置h默认背景色,颜色和帧速
- 重构组合方法之——提取方法
- 关于提高自己JAVA水平的十大技术讨论
- 加载 编译库
- 从郁闷中走出来
- 添加删除记录及简单验证
- 第一章 游戏中的数学和物理(物理篇)
- 随笔:090826无聊,写在一个人的七夕
- 编写测试计划的目的
- 学Java必备的一些资料