`
nannan408
  • 浏览: 1757425 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

重构----改善既有代码的设计(引用)

阅读更多
1. 为什么要重构
书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把代码组织得结构良好,会大大方便我们的工作。另外,结构复杂的代码中隐藏了很多bug,现在的状况是往往要等到用户报告bug我们再赶紧修正,这对哪一方都很不好,特别是从我的角度来说,显得很被动。希望借助重构能够减少bug的产生。

2. 什么是重构
“在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。”“本质上说,重构就是‘在代码写好之后改进它的设计’。”

3. 重构的思想
一句话说,就是“小步前进,频繁测试”。一下子由美国飞回中国,可能出现时差上适应不了的情况;如果坐船每天只走一小段路,就可以很顺利很平滑的过渡过来。
测试是重构的一个重要保证,每进行一个小改动,就测试一下有没有改变外在的行为,这是重要的。但是频繁的测试需要太多的精力,所以需要写一个自动化测试工具,先定义好要测试的东西,然后只需一个按钮,由工具来告诉你o不ok。
用数学的话说,有点像无限细化求积分的方法。

4. 大型重构
当你需要重构一整个软件的代码时(比如说架构不好),“你不可能说服经理把系统停止运行两个月让你进行重构;你只能一点一点地做你的工作,今天一点点,明天一点点。”“只在需要添加新功能或修补错误时才进行重构。你不必一开始就完成整个系统的重构;重构程度只要能满足其他任务的需要就行了。反正明天你还可以回来重构。”

5. 关键词
bad smell :这是一种对代码的美感的感觉。一旦嗅到代码中有 bad smell,就可以考虑进行重构了。bad smell 中有一个典型的,叫“拷贝而来的重复代码”。
design pattern :这是重构的目标,一种良好的代码组织方式。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gooooloo/archive/2009/09/02/4506753.aspx
分享到:
评论

相关推荐

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

    5.3 这些重构手法有多成熟 106 第6章 重新组织函数 109 6.1 Extract Method(提炼函数) 110 6.2 Inline Method(内联函数) 117 6.3 Inline Temp(内联临时变量) 119 6.4 Replace Temp with Query(以...

    重构-改善既有代码的设计 中文版.pdf

    5.3 这些重构准则有多成熟 第6章 重新组织你的函数 6.1 Extract Method(提炼函数) 6.2 Inline Method(将函数内联化) 6.3 Inline Temp(将临时变量内联化) 6.4 Replace Temp With Query(以查询取代临时变量) ...

    重构-改善既有代码设计

    指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。 在极限编程的方法学中,重构需要单元测试来支持

    重构-改善既有代码的设计 中文版

    5.3 这些重构准则有多成熟 第6章 重新组织你的函数 6.1 Extract Method(提炼函数) 6.2 Inline Method(将函数内联化) 6.3 Inline Temp(将临时变量内联化) 6.4 Replace Temp With Query(以查询取代临时变量) ...

    重构_改善既有代码的设计[高清版]【已进行内容识别处理,可搜索,可编辑+有目录】

    2.6 重构与设计······ ·· · · ······· ·· ···· · ··· ·· · · ··· ·· ·· ····· · · · ·· ·· ·· ··· ·· ·· · ·· ·· ···· · ···· · · ·...

    重构-改善既有代码的设计+中文版

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧...

    重构-改善既有代码的设计(中文版)

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧...

    重构:改善既有代码的设计(中文高清版)

    2.6 重构与设计66 2.7 重构与性能69 2.8 重构起源何处71 第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列...

    重构_改善既有代码的设计[高清版]中文版

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏...

    重构:改善既有代码的设计(中文版).

    2.6 重构与设计66 2.7 重构与性能69 2.8 重构起源何处71 第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列...

    重构改善既有代码的设计(英文版)

    代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构...软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持

    重构_改善既有代码的设计.pdf

    2.6 重构与设计66 2.7 重构与性能69 2.8 重构起源何处71 第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列)...

    重建——改善既有代码的设计

    本书清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。 章节列表如下: 目录 第1章 重构,第一个案例1 1.1 起点1 1.2 重构的第一步7 1.3 分解并重组...

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

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏昧...

    重构 改善既有代码的设计

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏...

    重构_改善既有代码的设计

     2.6 重构与设计66  2.7 重构与性能69  2.8 重构起源何处71 第3章 代码的坏味道  3.1 DuplicatedCode(重复代码)76  3.2 LongMethod(过长函数)76  3.3 LargeClass(过大的类)78  3.4 LongParameterList...

    重构,改善既有代码的设计

     Refactoring and Design 重构与设计   Refactoring and Performance 重构与性能   Where Did Refactoring Come From? 重构的起源  Chapter 3:Bad Smells in Code(by Kent Beck and Martin Fowler) 代码坏...

    重构:改善既有代码的设计.[美]Martin Fowler.epub【文字版手机格式】

    重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与...

Global site tag (gtag.js) - Google Analytics