[重构]读书笔记

Posted 乔桑宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[重构]读书笔记相关的知识,希望对你有一定的参考价值。

如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。

没个傻瓜都能够写出计算机能够理解的代码,但是唯有写出人类能够理解的代码的程序员,才是优秀的程序员。

第一章

重构步骤

1. 为即将修改的代码建立一组可靠的测试环境。测试机制再重构领域的地位很重要。

2. 分解并重组

  2.1 extract

  2.2 move

  2.3 replace temp with query

  2.4 State模式 Gang of four,一个对象

  2.5 Replace Type Code with State/Strategy

  2.6 Replace Conditional with Polymorphism

  2.7 Self Encapsulate Field

第二章 重构原则

重构的定义

1. 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

2. 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

何时重构

三次法则,事不过三,三则重构

3. 重构起源何处

small talk: https://zh.wikipedia.org/wiki/Smalltalk

Bill Opdyke,博士论文,重构领域具有相当高的价值。

第三章 代码的坏味道

坏味道条款

1. duplicate code

2. Long Method 

3. Large Class

4. Long Parameter List

5. Divergent Change 发散式变化, 如果某个类经常因为不同的原因在不同的方向上发生变化,divergent change就出现了。

6. Shotgun Surgery 霰弹式修改。如果每遇到某种变化,你就必须在许多不同的类内做出许多小修改,你所面临的坏味道就是shotgun surgery

7. Feature Envy 依恋情结,函数对某个类的兴趣高于对自己所处类的兴趣

8. Date Clumps 数据泥塘

 

第十四章 重构工具

重构工具的技术标准:

1. 程序数据库

2. 解析树

3. 准确性,由工具实现的重构,必须合理保持程序原有行为

重构工具的实用标准:

1. 速度

2. 撤销,重构保持了程序的行为,那么方向重构应该也能够保持程序的行为

3. 与其他工具集成

以上是关于[重构]读书笔记的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记--《大话重构》

《重构》--读书笔记

《重构》读书笔记

《重构》读书笔记

[重构]读书笔记

《重构》--读书笔记