写点什么

重读《重构 2》- 提取函数

用户头像
顿晓
关注
发布于: 2021 年 04 月 12 日
重读《重构2》- 提取函数

6.1 提取函数


只提取函数,容易造成大量 private 函数;private 函数是坏味道,比如不能写单元测试,这时应该使用 7.5 提炼类,将 private 函数提炼到新类中,比如一些工具类。

最终结果是:每个类几乎没有 private 函数,代码阅读起来没有函数跳转,很顺畅,类比函数更灵活,扩展性更好。


提取函数需要培养的直觉有:

1、函数越短越好,小而美

2、意图大于实现,且要分开;意图稳定,实现易变

3、命名要自描述,凸显意图,而不是描述实现

4、体现层次感,而不是一坨

5、如果难以提取函数,说明实现方法不对,尝试换种实现


案例学习:

语言标准库中,如 str 提取的函数,https://doc.rust-lang.org/std/primitive.str.html


这些是正向的输入,多体会,能感觉到脑回路在改变,直到遇到适合的场景能零秒思考;

假如有的 str 库未实现这么多方法,你遇到问题时,也是先实现所需的方法-如 trim-end,然后再用该方法实现功能需求;就说明你已经更新了自己的思维模型。


代码阅读困惑:代码看了,但难以搞懂代码在做什么。

原因就是:没有从实现中提取足够层级的意图,让代码变得有层次感。


增加一个直觉/思维:

多提取永恒的函数,像语言的标准库一样,十年如一日,不会改变。

需求变化时,让旧的只读,追加新的。

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

顿晓

关注

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

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

评论

发布
暂无评论
重读《重构2》- 提取函数