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

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

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

1.提炼函数、内联函数

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

2.提炼变量、内联变量

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

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

3.改变函数声明

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

4. 封装变量、变量改名

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

5.引入参数变量

这个我并不很安利

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

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

7.拆分函数

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

目录
相关文章
|
7月前
|
设计模式 算法 Java
设计模式第十五讲:重构 - 改善既有代码的设计(下)
设计模式第十五讲:重构 - 改善既有代码的设计
243 0
|
6月前
|
设计模式 算法
重构,避免重构误区
重构,避免重构误区
25 0
|
7月前
|
设计模式 Java 测试技术
设计模式第十五讲:重构 - 改善既有代码的设计(上)
设计模式第十五讲:重构 - 改善既有代码的设计
261 0
|
11月前
|
程序员 测试技术
《重构2》第十章-简化条件逻辑
《重构2》第十章-简化条件逻辑
306 0
|
设计模式 算法
重构代码设计精要
重构代码设计精要
|
数据格式 索引
日常开发之重构
作为开发人员,应该让重构贯穿于你的开发日常的每一刻。
325 0
|
算法
【重构】重构概要--六大重构模块
【重构】重构概要--六大重构模块
220 0
|
数据库
高质量代码优化!谈谈重构项目中if-else代码的几点建议
本篇文章探讨了代码的重构以及优化,主要针对代码中大量的条件判断if-else语句问题提出了具体的优化建议。介绍了优化if-else语句的几种有效的方法,包括switch,接口interface以及数据库实现对条件语句进行的优化。
144 0
高质量代码优化!谈谈重构项目中if-else代码的几点建议
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
172 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
527 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)