在《重构》中,Martin Fowler按照重构所针对的代码内容进行了分类,包括对函数的重构、对对象特性的重构、对数据组织的重构、对条件表达式的重构以及对类层次的重构,并按照这种分类组织了章节。
除了按照重构所针对的代码内容进行分类外,按照采用手法进行分类,我觉得也可以从另一个角度帮助我们更进一步理解重构的进行方式。
通过整理,按照采用手法分类如下:
1、提炼
就是对某个过程的一部分,或某个事物的一部分进行抽象并概念化,以减小所表达的目的(要做什么)和实现(做什么,如何做)之间的语义差距。
运用提炼的重构手法包括
Extract Method、
Split Temporary Variable、
Extract Class、
Extract Subclass、
Extract Superclass、
Extract Interface等
2、内联
就是用其直接实现替换原来的间接调用,通过内联可以去掉意义不大的间接性。
运用内联的重构手法包括
Inline Method、
Inline Temp、
Inline Class
3、移动
在类之间(包括父类和子类之间)移动属性和方法,以使类之间职责更明确更清晰。
运用移动的重构手法包括
Move Method、
Move Field、
Pull Up Field、
Pull Up Method、
Pull Up Constructor Body、
Push Down Method、
Push Down Field
4、替换
将一种实现方式用另一种实现方式替代,以便于更直接更集中和更灵活
运用替换的重构手法包括
Replace Temp with Query、
Replace Method with Method Object、
Replace Date Value with Object、
Replace Array with Object、
Replace Magic Number with Symbolic Constant、
Replace Record with Data Class、
Replace Type Code with Class、
Replace Type Code with Subclasses、
Replace Type Code with State/Strategy、
Replace Subclass with Fields、
Replace Nested Conditional with Guard Clauses、
Replace Conditional with Polymorphism、
Replace Paramether with Explicit Methods、
Replace Parameter with Method、
Replace Constructor with Factory Method、
Replace Error Code with Exception、
Replace Exception with Test、
Replace Inheritance with Delegation、
Replace Delegation with Inheritance
5、改变
改变和替换语义上有些类似,其间的差别还不是很清楚
运用改变的重构手法包括
Change Value to Reference,
Change Reference to Value,
Change Unidirectional Association to Biderectional
Change Biderectional Association to Unidirectional
6、其他
包括增加Add、移除Remove、隐藏Hide、引入Introduce、封装Encapsulate、合并Consolidate等等
分享到:
相关推荐
重构-改善既有代码的设计.pdf重构-改善既有代码的设计.pdf
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(以...
《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...
《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法...
重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐! 重构-改善既有代码的设计 强烈推荐!
一直很喜欢重构这本书,但是由于自己记性不太好,书看过之后其中的方法总是记不住,于是想如果有电子版的重构书就好了,工作中遇到重构的问题可以随时打开查阅。在网上搜索了许久,发现重构这本书有英文chm版本的,...
《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)是由Martin Fowler撰写的一部经典著作。此书被认为是软件工程领域中的一个里程碑,与另一本经典《设计模式》(Design Patterns...
《重构-改善既有代码的设计》是一本在软件开发领域具有深远影响的经典著作,由马丁·福勒撰写。这本书深入探讨了如何通过一系列微小而精确的步骤改进已有的代码结构,提升代码质量,同时保持软件功能不变。这些步骤...
本书讲述重构,即在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
《重构-改善既有代码的设计》是由Martin Fowler所著的一本软件工程领域的经典书籍,中文版由侯捷翻译,与《设计模式》齐名,被广泛认为是软件开发人员提升编程技能的必读之作。书中展示了超过70种行之有效的重构方法...
王者归来之《重构-改善既有代码的设计 chm 中文版》经典王者 王者程序员真经!
重构--改善既有代码的设计 文字版 epub格式
重构改善既有代码的设计第2版.pdf 本书主要讨论了如何通过重构来改善既有代码的设计,提高代码的可维护性、可读性和可扩展性。下面是对书中重要的知识点的总结: 1. 重构的定义和重要性:重构是指对既有代码的修改...
重构-改善既有代码的设计 中文版 一本很好的 Java 进阶书
重构-改善既有代码的设计,清晰完整中文版,讲解重构过程中的方法以及注意方向。
《重构-改善既有代码设计》是一本专注于软件开发过程中代码优化和重构的权威书籍,尤其对Android、Java、C和C++等编程语言的开发者具有很高的参考价值。本书旨在通过详细的实例和深入的分析,教导读者如何有效地改进...