《重构2》第六章-重构基础

简介: 《重构2》第六章-重构基础

重构的方法有很多,这一张是最简单、最容易理解、最快捷的重构!

1.提炼函数、内联函数

两个方法,放在一起讲述
提炼函数,显而易见,重复的,且只有少数可控变量的函数,为什么不提炼出来?记得,当你使用一个函数第三次的时候好,不要再拷贝粘贴了,去提炼函数吧
内联函数:可以理解为,当你的多函数调用时,其中某个函数B中逻辑及其简单,且上级函数A没有太多逻辑,就可以使用内联函数,注释B函数,将其逻辑放到A函数中.一个明显的特点就是,代码的执行逻辑更加清晰可见!!!

2.提炼变量、内联变量

同类/反类重构方法统一位置解释
提炼变量:当个计算逻辑或者层级拆分需要再函数的多重地方使用,就可以将其提炼为变量,好处如下
好处:
1.有好的命名,逻辑清晰
2.分解了表达式,便于管理及开发

内联变量:在函数内部,变量命名并没有给很好的表现力,或者妨碍代码阅读,可以考虑使用内联变量,减少变量的使用

3.改变函数声明

有效的函数名称,可以很好的改变对代码的理解速率,对协同开发,十分有效
但,当改变函数声明时,请注意以下几点:
1.确定改变函数声明后,修改代码中所有的引用点
2.注意函数入参,是否有不同
3.测试相关功能~~~(你不能确保,你真的修改对了函数入参)

4. 封装变量、变量改名

在重构过程中,尤其是重构函数时,入参的排列顺序及注释会产生很大的误解,所以为了重构的方便性,以及管理入参,可以考虑使用封装变量的方法
或者,当可变数据超出当前作用域的时候,就可以将其封装
封装变量:将函数中多个入参,封装为一个对象
变量改名:有效且符合场景的名称,可以让那个代码更加便于阅读,同时,也可以通过深拷贝,拿出干净的数据

5.引入参数变量

这个我并不很安利

6.函数组合成类、函数组合成变换

函数组合成类:首先,将共同类的函数组合到同一个类中,便于后期使用调用,相关模块内容;其次可以以少量的初始化数据,进行初始化类,同时,类内函数互相调用,可以较少入参的传输;
函数组合成变换:很好理解,就是将数据的深拷贝,且拷贝后的部分同样的数据处理放到一个专门的类中

7.拆分函数

庞大的逻辑,不要想了,拆吧!!!!想想一个函数300行,可怕啊😨

目录
相关文章
|
设计模式 算法 Java
设计模式第十五讲:重构 - 改善既有代码的设计(下)
设计模式第十五讲:重构 - 改善既有代码的设计
278 0
|
设计模式 算法
重构,避免重构误区
重构,避免重构误区
41 0
|
开发者
重构的核心-让代码保持整洁
很久之前团队师兄向我推荐了《重构:改善既有代码的设计》这本书,粗略翻阅看到很多重构的细节技巧,但当时还处于未接触过工程代码,只关注代码功能,不太考虑后期维护的阶段,读起来觉得枯燥无味,几乎没有共鸣,一直没有细细阅读。在工作一年后,终于在师兄的督促下,利用一个月左右的早起时光读完了这本书,收获很多,感谢师兄的督促,感谢这本书陪伴我找回了阅读习惯。把这本书推荐给已经接触了工程代码、工作一年左右的新同学,相信有了一定的经验积累,再结合日常项目实践中遇到的问题,对这本书的内容会有很多自己的思考感悟
40591 4
重构的核心-让代码保持整洁
|
程序员 测试技术
《重构2》第十章-简化条件逻辑
《重构2》第十章-简化条件逻辑
338 0
|
设计模式 算法
重构代码设计精要
重构代码设计精要
|
数据库
高质量代码优化!谈谈重构项目中if-else代码的几点建议
本篇文章探讨了代码的重构以及优化,主要针对代码中大量的条件判断if-else语句问题提出了具体的优化建议。介绍了优化if-else语句的几种有效的方法,包括switch,接口interface以及数据库实现对条件语句进行的优化。
170 0
高质量代码优化!谈谈重构项目中if-else代码的几点建议
|
数据格式 索引
日常开发之重构
作为开发人员,应该让重构贯穿于你的开发日常的每一刻。
347 0
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
572 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
204 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
|
缓存 负载均衡 NoSQL
系统重构 | 学习笔记
快速学习系统重构
416 0