写点什么

重读《重构 2》- 提炼变量

用户头像
顿晓
关注
发布于: 2021 年 04 月 14 日
重读《重构2》- 提炼变量

6.3 提炼变量(Extract Variable)

曾用名:引入解释性变量(Introduce Explaining Variable) 从曾用名就可以看出,这个方法主要是用来改善代码表达能力的。


其实这条提炼变量和提炼函数是同构的,具有一致性;

说白了,可以合并到一起,叫做:提炼 Extract


提炼是策略,可以考虑的维度有:复杂度,引用数;

可以组合成如下方法:

复杂度低 + 一个调用:提炼表达式;

复杂度低 + 多个调用:提炼内联函数;

复杂度高 + 一个调用:提炼私有函数;

复杂度高 + 多个调用:提炼公有函数。

6.4 内联变量(Inline Variable)

这个很鸡肋,同样是属于提炼策略里的。


至此,我们归纳出第一个策略:提炼 Extract

下面说下这个策略存在的理由:

代码的首要价值是完成功能,但代码的输出由程序员个人的编程思维所决定,所以某功能的实现代码由某人脑中的编程思维所决定,确切地说是首次输出/第一个版本。

所以下面的 2 个前提条件决定了代码需要有第二个版本:

1、某人掌握的编程模型不能保证是最优的;

2、代码的第二个价值:可维护性

这时,优化已有代码时,要应用的第一个策略就是:提炼。


提炼是让代码可维护性/可读性达到最优状态的方法之一;

其驱动力是:阅读代码时对理解难度的抗拒;

就像草坪上的小路,是人对走绕弯路的抗拒。


重构是为了提高代码质量,所以提炼也是为了改善代码质量。

但如果对软件质量负责的不是自己的话,就容易忽略质量。


上面是从软件的角度进行的分析;

下面从程序员角度分析,这涉及到社会学,人都有被认可的需求,程序员的社会关系简单,工作关系占了主要成分,所以程序员写的代码被认可,对其个人来说是比较重要的。

代码被认可,就不能出质量问题,所以就需要常提炼。

发布于: 2021 年 04 月 14 日阅读数: 12
用户头像

顿晓

关注

因观黑白愕然悟,顿晓三百六十路。 2017.10.17 加入

视频号「编程日课」 知识星球「俺的死党顶」

评论

发布
暂无评论
重读《重构2》- 提炼变量