代码重构(refactoring)是指在保持程序外部表现不变的情况下改变其内部实现的做法。重构的目标主要是改进程序的内部质量,例如增加代码
可读性,简化代码结构,增强可维护性、性能或扩展性。即使初期设计得再合理,但由于软件发展本身不可能是完美的,因此重构作为改进代码质量的手段,会持续
运用在在软件开发过程中。
重构领域最著名的资源莫过于Martin Fowler所著的《重构:改善既有代码的设计
》,此外,Martin还维护了一个重构资源站点
,用于随时补充重构有关的信息资料。
八月份,Sean Chambers
在博客中编写了一系列描述重构方式的文章。Sean指出,这些重构方式主要来源于Martin的重构资源站点、代码大全(第二版)
以及平时由他自己收集的互联网资源,他的目的是为各种重构方式提供了一些额外的描述及相关的讨论。
以下是这31篇文章列表:
-
封装集合
-
移动方法
-
提升(pull up)方法
-
降低(push down)方法
-
提升字段
-
降低字段
-
改名(方法,类,参数)
-
使用委派代替继承
-
提取接口
-
提取方法
-
使用策略类
-
分解依赖
-
提取方法对象
-
分离职责
-
移除重复内容
-
封装条件
-
提取父类
-
使用条件判断代替异常
-
提取工厂类
-
提取子类
-
合并继承
-
分解方法
-
引入参数对象
-
分解复杂判断
-
引入契约式设计
-
避免双重否定
-
去除上帝类
-
为布尔方法命名
-
去除中间人对象
-
尽快返回
-
使用多态代替条件判断
Sean表示,他打算将这些重构内容制成电子书发布在LosTechies网站
上。如果您对这些重构方式感兴趣,可以下载代码
并做进一步的尝试。
分享到:
相关推荐
《NET 31天重构指南》是一份专为.NET开发者设计的系统性学习资源,旨在帮助程序员在31天的时间里逐步掌握重构的核心理念和技术。重构是软件开发过程中的一个重要环节,它涉及到对现有代码结构的改进,以提高代码质量...
### 31天重构指南——代码重构(Refactoring) #### 一、代码重构的基本概念 代码重构是指在不改变程序外部行为的前提下,对其内部结构进行调整的过程。这一做法旨在提高程序的质量,包括但不限于提高代码的可读性...
文件"31天重构速成.pdf"应该是这本书的中文翻译电子版,涵盖了完整的31个重构主题,每个主题都有详细的步骤和实例,旨在让读者能够快速理解和应用重构技术。"目录.txt"则可能包含书中的章节和子章节的列表,方便读者...
《31天重构系列笔记》是一本专注于C#编程语言重构技术的教程,该资源以免费高清PDF的形式提供。重构是软件开发过程中的一种重要实践,它旨在改进代码结构,提高可读性和可维护性,而不会改变外部行为。在31天的时间...
《31天重构速成》是一本专注于提升代码质量与可维护性的专业指南,由Sean Chambers与Simone Chiaretta联合编写,后由麒麟.NET团队翻译成中文版本。该书通过一系列具体案例与实践,详细介绍了31种重构技巧,旨在帮助...
《31天重构速成》是一本旨在通过实际案例来教授重构技巧的指南。 #### 二、知识点详解 **1. Encapsulate Collection(封装集合)** - **定义**:当类中的集合属性暴露在外时,可能会导致外部对象对其进行非法修改...
《31天重构速成》和《重构与模式》这两本书是IT领域的经典读物,主要探讨了软件开发中的重构和设计模式应用。重构是一种在不改变代码外在行为的前提下,改善代码结构的过程,旨在提高代码的可读性和可维护性。而设计...
- "31天重构学习笔记"可能提供了每日重构技巧和案例,帮助深入理解重构过程。 - "Java重构示例"系列文档可能展示了Java代码重构的具体步骤和实践。 - "SVN搭建和使用手册"及"SVN中文教程"提供了关于SVN的详细指南...
本书通过31天的时间,每天介绍一种重构技巧或策略,下面选取几个典型示例进行详细说明: ##### 第一天:Encapsulate Collection(封装集合) - **目标**:提高集合数据的安全性和可控性。 - **方法**: - 将公开...