代码重构(refactoring)是指在保持程序外部表现不变的情况下改变其内部实现的做法。重构的目标主要是改进程序的内部质量,例如增加代码可读性,简化代码结构,增强可维护性、性能或扩展性。即使初期设计得再合理,但由于软件发展本身不可能是完美的,因此重构作为改进代码质量的手段,会持续运用在在软件开发过程中。
重构领域最著名的资源莫过于 Martin Fowler 所著的《重构:改善既有代码的设计》,此外,Martin 还维护了一个重构资源站点,用于随时补充重构有关的信息资料。
八月份, Sean Chambers 在博客中编写了一系列描述重构方式的文章。Sean 指出,这些重构方式主要来源于 Martin 的重构资源站点、代码大全(第二版)以及平时由他自己收集的互联网资源,他的目的是为各种重构方式提供了一些额外的描述及相关的讨论。
以下是这 31 篇文章列表:
- 封装集合
- 移动方法
- 提升(pull up)方法
- 降低(push down)方法
- 提升字段
- 降低字段
- 改名(方法,类,参数)
- 使用委派代替继承
- 提取接口
- 提取方法
- 使用策略类
- 分解依赖
- 提取方法对象
- 分离职责
- 移除重复内容
- 封装条件
- 提取父类
- 使用条件判断代替异常
- 提取工厂类
- 提取子类
- 合并继承
- 分解方法
- 引入参数对象
- 分解复杂判断
- 引入契约式设计
- 避免双重否定
- 去除上帝类
- 为布尔方法命名
- 去除中间人对象
- 尽快返回
- 使用多态代替条件判断
Sean 表示,他打算将这些重构内容制成电子书发布在 LosTechies 网站上。如果您对这些重构方式感兴趣,可以下载代码并做进一步的尝试。
评论