转发自www.infoq.com上的一篇文章。原文地址:http://www.infoq.com/cn/news/2009/09/31-days-of-refactoring
作者
赵劼
发布于
2009年9月6日 上午11时52分
代
码重构(refactoring)是指在保持程序外部表现不变的情况下改变其内部实现的做法。重构的目标主要是改进程序的内部质量,例如增加代码可读性,
简化代码结构,增强可维护性、性能或扩展性。即使初期设计得再合理,但由于软件发展本身不可能是完美的,因此重构作为改进代码质量的手段,会持续运用在在
软件开发过程中。
重构领域最著名的资源莫过于Martin Fowler所著的《重构:改善既有代码的设计
》,此外,Martin还维护了一个重构资源站点
,用于随时补充重构有关的信息资料。
八月份,Sean Chambers
在博客中编写了一系列描述重构方式的文章。Sean指出,这些重构方式主要来源于Martin的重构资源站点、代码大全(第二版)
以及平时由他自己收集的互联网资源,他的目的是为各种重构方式提供了一些额外的描述及相关的讨论。
以下是这31篇文章列表:
-
封装集合
-
移动方法
-
提升(pull up)方法
-
降低(push down)方法
-
提升字段
-
降低字段
-
改名(方法,类,参数)
-
使用委派代替继承
-
提取接口
-
提取方法
-
使用策略类
-
分解依赖
-
提取方法对象
-
分离职责
-
移除重复内容
-
封装条件
-
提取父类
-
使用条件判断代替异常
-
提取工厂类
-
提取子类
-
合并继承
-
分解方法
-
引入参数对象
-
分解复杂判断
-
引入契约式设计
-
避免双重否定
-
去除上帝类
-
为布尔方法命名
-
去除中间人对象
-
尽快返回
-
使用多态代替条件判断
Sean表示,他打算将这些重构内容制成电子书发布在LosTechies网站
上。如果您对这些重构方式感兴趣,可以下载代码
并做进一步的尝试。
分享到:
相关推荐
31天重构指南31天重构指南31天重构指南31天重构指南31天重构指南
代码重构(refactoring)是指在保持程序外部表现不变的情况下改变其内部实现的做法。重构的目标主要是改进程序的内部质量,例如增加代码可读性,简化代码结构,增强可维护性、性能或扩展性。即使初期设计得再合理,...
Sean Chambers的31 Days of Refactoring中文版,麒麟.Net翻译。
31天重构速成,小巧实用的31种代码重构.
[免费高清PDF]31天重构系列笔记.rar [免费高清PDF]31天重构系列笔记.rar
31天重构
《31天重构速成》该系列文章通过31个示例介绍了31个重构条目。其中大多数重构都可以在Refactoring.com中找到,有一些来自《代码大全(第2版)》,剩下的则是作者平时经常使用或收集自其他互联网资源。
31天重构速成_中文版,通过实例来讲解如何运用模式。
31天重构学习笔记中文汉化版,非常好的编程规范书籍
重构防坑指南,重构防坑指南,重构防坑指南,重构防坑指南,
简介 重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等...本着这一精神,我将在明天发布第一篇帖子并开始长达31天的重构马拉松之旅。希望你们能够享受重构并 从中获益。
这个是一本描述如何重构的书.重构的一些经验, 虽然是英文,但是直接看代码也是不错的
该文档给工程师提供非常好的代码重构指南,来指导工程师为什么,怎样进行代码重构
这个重构在微软的代码库也经常遇到。比如最经典的属性对字段的封装就是一个很好的例子,那么下面我们将看到对集合的封装,如下代码所示,调用端只需要一个集合的信息,而我们则提供了一个IList的集合,大家都知道...
不是我写的,当然希望我有这个能力。是在豆丁网上看到的,觉得不错,就下下来,跟大家分享分享。希望对你有所帮助。
两本电子书《31天重构速成》《重构与模式》全是pdf的,其中第二本是英文的。 还有我写的一套.net MVC文章。 打包赚分儿。