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

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

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

1.提炼函数、内联函数

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

2.提炼变量、内联变量

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

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

3.改变函数声明

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

4. 封装变量、变量改名

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

5.引入参数变量

这个我并不很安利

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

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

7.拆分函数

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

目录
相关文章
|
11月前
|
设计模式 算法
重构,避免重构误区
重构,避免重构误区
37 0
|
设计模式 缓存 算法
关于“重构”的一些思考
本文将从一个新人数次修改CR comments的角度探讨代码重构的定义、目的以及常见的重构方法,并以简单的代码案例来说明代码重构的具体实现。
4882 3
关于“重构”的一些思考
|
开发者
重构的理解
重构的理解
79 0
|
程序员 测试技术
《重构2》第十章-简化条件逻辑
《重构2》第十章-简化条件逻辑
332 0
|
数据格式 索引
日常开发之重构
作为开发人员,应该让重构贯穿于你的开发日常的每一刻。
345 0
|
数据库
高质量代码优化!谈谈重构项目中if-else代码的几点建议
本篇文章探讨了代码的重构以及优化,主要针对代码中大量的条件判断if-else语句问题提出了具体的优化建议。介绍了优化if-else语句的几种有效的方法,包括switch,接口interface以及数据库实现对条件语句进行的优化。
164 0
高质量代码优化!谈谈重构项目中if-else代码的几点建议
|
Cloud Native 算法 前端开发
如何面向对象做好重构?|83行代码
由阿里云云效主办的2021年第3届83行代码挑战赛已经收官。超2万人围观,近4000人参赛,85个团队组团来战。大赛采用游戏闯关玩儿法,融合元宇宙科幻和剧本杀元素,让一众开发者玩得不亦乐乎。本文作者:83行代码优秀参赛选手。
326 0
如何面向对象做好重构?|83行代码
|
缓存 负载均衡 NoSQL
系统重构 | 学习笔记
快速学习系统重构
403 0
下一篇
无影云桌面