关闭

读“重构-改善既有代码的设计”一书重点摘要

173人阅读 评论(0) 收藏 举报

最近这几点重构看了《重构-改善既有代码的设计》一书,感觉说的确实太考虑。使我对软件设计有了一个更高程度的认识。下面对书中个人觉得比较有意思的内容进行记录下来。

1.什么是重构?

  所谓重构是这样一个过程:“在不改变程序外在行为的前提下,对程序做出修改,以改进程序的内部结构”。重构是一种有纪律的、经过训练的、有条不紊的程序整理方法,可以将整理过程中不小心引起错误的几率降到最低。本质上说,重构就是“在程序写好之后改进它的设计”。

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

3.重构之前,首先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。

4.代码区域愈小,代码的功能就越容易管理,代码的处理和搬移也都越轻松。

5.任何不会被修改的变量都可以被当成参数传入新的函数,至于会被修改的变量就需格外小心。如果只有一个变量会被修改,可以把它当做返回值。

6.任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。

7.重构:对软件内部结构的一种调整,目的是在不改变软件之可察行为的前提下,提高其可理解性,降低其修改难度。

8.可需要重构的地方:

 a。重复的代码(Duplicated Code

 b。过长函数(Long Method

 c。过大类别(Large Class

 d。过长参数列(Long Parameter List

 e。发散式变化(Divergent Change

 f。散弹式修改(Shotgun Surgery

 g。依恋情结(Feature Envy

 h。资料泥团(Data Clumps

 i。基本型别偏执(Primitive Obsession

 j。Switch语句(Switch Statements

 k。平行继承体系(Parallel Inheritance Hierarchies

 l。冗员类别(Lazy Class

 m。夸夸其谈未来性(Speculative Generality

 n。令人迷惑的临时变量(Temporary Field

 o。过度耦合的讯息链(Message Chains

 p。中间转手人(Middle Man

 q。异曲同工的类别

 r。不完美的程序库类别

 s。纯粹的资料类别(Data Class

 t。过多的注释(Comments

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1482次
    • 积分:43
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档