2006-04-26
Refactoring 笔记 - 第一个案例总结
重构保障
1、建立测试环境(比如单元测试),确保重构后的代码不会带来新的 bugs。
1、建立测试环境(比如单元测试),确保重构后的代码不会带来新的 bugs。
重构前提
1、当一个函数或类履行了太多的职责。
2、当一个变更存在多个相同的修改点。
3、当需要为程序添加一个特性,而代码结构使你无法很方便地那么做。
1、当一个函数或类履行了太多的职责。
2、当一个变更存在多个相同的修改点。
3、当需要为程序添加一个特性,而代码结构使你无法很方便地那么做。
重构原则
1、尽量以最小的步伐修改程序。如果你犯下错误,很容易发现它。
2、使用有意义的命名,增强程序的可读性,代码本身应该能够表现自己的目的。任何一个 fool
1、尽量以最小的步伐修改程序。如果你犯下错误,很容易发现它。
2、使用有意义的命名,增强程序的可读性,代码本身应该能够表现自己的目的。任何一个 fool
都能写出计算机可以理解的代码,惟有写出人类容易理解的代码,才是优秀的程序员。
3、函数应该放在它所使用数据所属的 object 内。
3、函数应该放在它所使用数据所属的 object 内。
重构手段
1、Extract Method,把一个昂长的方法按职责抽取为多个简洁的方法。
2、除去冗余的临时变量。往往一个临时变量的存在是为了保存一个运算的结果,可以考虑把临
1、Extract Method,把一个昂长的方法按职责抽取为多个简洁的方法。
2、除去冗余的临时变量。往往一个临时变量的存在是为了保存一个运算的结果,可以考虑把临
时变量及临时变量相关的运算抽取到一个单独的函数中。
3、合适的选择设计模式。
3、合适的选择设计模式。
重构节奏 - 测试、小修改、测试、小修改......正是这种节奏让重构变得快速和安全。
这一章以一个实例演示了重构的全过程,使我本来零星破碎的思维变得逐渐完整,当然这一章中所用到的重构手段和原则并不是全部,continue......
发表评论
- 浏览: 13857 次
- 性别:

- 来自: wuhan

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Eclipse 找不到插件的问题
在configuration/config.ini里加上一个参数:osgi.ch ...
-- by iceworld4143 -
关于IE(frameset)导致cook ...
楼主,太感谢您了!我被这个问题折磨了一天一夜,看了您的这篇文章,问题迎刃而解!如 ...
-- by lumi -
关于IE(frameset)导致cook ...
太感谢了!我被这个问题都折磨疯了,几天都找不出问题,特别是在客户那边部署时候出这 ...
-- by zwchen -
[转]在中国搞技术只能混 ...
留倒青山在,慢慢敖咧...
-- by dgates -
简化struts配置
变得更复杂
-- by boogie






评论排行榜