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

原创 2011年01月21日 11:42:00

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

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

《重构:改善代码的既有设计》读书笔记

本文已同步发表在博客园:http://www.cnblogs.com/davidsheh/p/5239745.html 第1章 重构,第一个案例 代码块俞小,代码的功能就俞容易管理,代码的处理和移动也...
  • wenxin2011
  • wenxin2011
  • 2016年03月03日 19:14
  • 2348

《重构 改善既有代码的设计》——学习笔记(一)

代码的坏味道Duplicated Code(重复代码) 同一个类的两个函数含有相同的表达式,需要将重复的这段代码提出来,让这两个函数都调用这段代码 两个互为兄弟的子类内含相同表达式,需要将代码提炼出来...
  • benhuo931115
  • benhuo931115
  • 2017年04月17日 19:04
  • 579

《重构-改善既有代码的设计》pdf

下载地址:网盘下载 编辑推荐 编辑 软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄",全美销量超过100000册,亚马逊书店五星书。 ...
  • cf406061841
  • cf406061841
  • 2017年05月15日 00:17
  • 4425

重构 改善既有代码的设计——重构原则

1.何谓重构? 答: A.重构(名词意义):对软件内部结构的调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本; B.重构(动词意义):使用一系列重构手法,在不改变软件可观...
  • zhongshujunqia
  • zhongshujunqia
  • 2016年09月08日 11:52
  • 1368

改善既有代码的设计(一)----------小案例展示重构的意义

本书很好的一点就是上来没有讲历史渊源这一类的催人入睡的课题,而是先用一个小案例来展示重构的过程和意义,这也是我看着本书没有至于前言的主要原因,看完了本案例,才会觉得代码真是一项艺术,与难度无关,更多的...
  • u010568407
  • u010568407
  • 2016年07月22日 11:17
  • 954

2016书单总结--重构改善既有代码的设计--重新组织函数

2016书单总结–重构改善既有代码的设计–重新组织函数重构(refactoring)–在不改变软件可观察行为的前提下改善其内部结构 1. 重构的作用 重构改进软件设计–让所有东西回到应回到...
  • undergrowth
  • undergrowth
  • 2017年01月12日 22:41
  • 302

《重构-改善代码既有的设计》重构,第一个案例

起点:编写3个类的代码 1、第一个类-影片(Movie):package com.lee.test.aFirstExample;public class Movie { /** * ...
  • limuzi13
  • limuzi13
  • 2016年11月16日 17:15
  • 534

重构改善既有代码的设计第一章读后总结

本书的第一章主要讲解的是重构的一个小案例,个人感觉这比写一堆重构的理论来的好理解。        这是一个影片租赁的案例有影片类(影片信息)、租赁类(影片及租赁天数)、顾客类(顾客姓名、租赁信息、详...
  • zgxy666
  • zgxy666
  • 2017年07月23日 14:52
  • 89

重构-改善既有代码的设计 读书笔记

一、为什么重构?     重构技术的给我们代来的第一个好处就是他是我们的代码条理清晰,简明易读。于此同时,重构技术借用OO原则,将强代码的扩展性和灵活性,使得日后添加新功能更加轻松容易。     ...
  • wangwenwen
  • wangwenwen
  • 2014年10月13日 20:56
  • 2305

《重构 改善既有代码的设计》——学习笔记(三)

简化条件表达式Decompose Conditional(分解条件表达式)从if、then、else三个段落中分别提炼出独立函数 if (date.before(SUMMER_START) ||...
  • benhuo931115
  • benhuo931115
  • 2017年05月22日 09:37
  • 1361
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读“重构-改善既有代码的设计”一书重点摘要
举报原因:
原因补充:

(最多只允许输入30个字)