《重构》读书笔记 第三至六章

2022-08-14  本文已影响0人  dafasoft

第三章

代码的坏味道

第四章 构筑测试体系

本章主要讲了JUnit测试框架的使用,因为本书出版时间较早,当前已基本不具备参考价值

第五章 重构列表

后续章节的大纲和介绍

第六章 重新组织函数

6.1 提炼函数

6.2 内联函数

何时需要内联函数:
一个函数的本体与名称同样通俗易懂
还有一种情况:
手上有一群组织不慎合理的函数,可以将他们都内联到一个大函数中,再从中提取出组织合理的小型函数

6.3 内联临时变量

一个临时变量,纸杯简单表达式赋值一次,可以将其内联化

6.4 以查询取代临时变量

程序以一个临时变量保存某一表达式的运算结果,可以将这个表达式提炼到一个独立的函数中,讲这个临时变量的所有引用点替换为对新函数的调用,此后,新函数就可以被其他函数使用

6.5 引入解释性变量

表达式如果非常复杂将难以阅读
将复杂表达式的拆分成不同部分,将分段后表达式的结果放入多个临时变量中,以变量名来解释表达式用途

6.6 分解临时变量

原则: 每个变量只承担一个责任,同一个临时变量承担两件不同的事情,会令代码阅读者糊涂
如 某个临时变量在前半部分代表身高,计算过身高后又代表体重

6.7 移除对参数的赋值

对代码赋值降低了代码的清晰度,而且混用了安置传递和按引用传递这两种传递方式
尽可能将参数视为final的

6.8 以函数对象取代函数

有一个大型函数,其中对局部变量的使用很难对其使用Extract Method方式,可以将这个函数放进一个单独对象中,如此一来局部变量就变成了对象内的字段,然后可以在同一个对象中将这个大型函数分解为多个小型函数

6.9 替换算法

慎之又慎,除非有十足的把握

上一篇 下一篇

猜你喜欢

热点阅读