重构名录:
第一部分:代码的坏味道(Bad smells in Code)
BS1: Duplicated Code(重复的代码)
BS2:Long Method(过长的函数)
BS3:Large Class(过大类)
BS4: Long Parameter List(过长参数列)
BS5:Divergent Change (发散式变化)
BS6:Shotgun Surgery (散弹式修改)
BS7: Feature Envy (依恋情节)
BS8: Data Clumps(数据泥团)
BS9: Primitive Obsession(基本型别偏执)
BS10: Switch Statements(Switch 惊悚现身)
BS11: Parallel Inheritance Hierarchies(平行继承体系)
BS12: Lazy Class(冗赘类)
BS13: Speculative Generality(夸夸其谈未来性)
BS14: Temporary Field(令人迷惑的暂时值域)
BS15: Message Chains(过度耦合的消息链)
BS16: Middle Man(中间转手人)
BS17: Inappropriate Intimacy(狎昵关系)
BS18: Alternative Classes with Different Interface
BS19: Incomplete Library Class(不完美的程序库类)
BS20: Data Class(纯数据类)
BS21: Refused Bequest(被拒绝的遗赠)
BS22: Comments(过多的注释)
第二部分:重新组织你的函数
1. Extract Method(提炼函数)
2. Inline Methods(将函数内联化)
3. Inline Temp(将临时变量内联化)
4. Replace Temp with Query
5. Introduce Explaining Variable
6. Split Temporary Variable
7. Remove Assignments to Parameters
8. Replace Method with Method Object
9. Substitute Algorithm
第三部分:在对象之间搬移特性
10. Move Method
11. Move Field
12. Extract Class
13. Inline Class
14. Hide Delegate
15. Remove Middle Man
16. Introduce Foreign Method
17. Introduce Local Extension
第四部分: 重新组织数据
18. Self Encapsulate Field (自封装值域)
19. Replace Data Value with Object(以对象取代数据)
20. Change Value to Reference(将实值对象改为引用对象)
21. Change Reference To Value(将引用对象改为实值对象)
22. Replace Array With Object(以对象取代数组)
23. Duplicate Observed Data(复制被监视数据)
第五部分:简化条件表达式
24. Decompose Conditional(分解条件式)
25. Consolidate Conditional Expression(合并条件式)
26. Consolidate Duplicate Conditional Fragments(合并重复条件片段)
27. Remove Control Flag
28. Replace Nested Conditional with Guard(以卫语句取代嵌套条件式)
29. Replace Condition with polymorphism(以多态取代条件式)
30. Introduce Null Object (引入null对象)
31. Introduce Assertion (引入断言)
第六部分:简化函数调用
32. Rename Method
33. Add Parameter
34. Remove Parameter
35. Separate Query from Modifier
36. Parameterize Method
37. Replace Parameter with Explicit Methods
38. Preserve Whole Object
39. Replace Parameter with Methods
40. Introduce Parameter Object
41. Remove Setting Method
42. Hide Method
43. Replace Constructor with Factory Method
44. Encapsulate Downcast
45. Replace Error Code with Exception
46. Replace Exception with Test
分享到:
相关推荐
《重构—改善既有代码的设计》是Martin Fowler所著的一本关于软件开发领域重构技术的经典之作。本书详细探讨了如何通过重构改善现有代码的设计,同时不改变软件的外部功能。重构是一种软件开发技巧,通过这种方式,...
《重构:改善既有代码的设计》是一本专注于软件开发领域的经典著作,由Martin Fowler著述,主要探讨了如何通过重构技术来提升现有代码的设计质量。重构是软件开发过程中的一个重要环节,它并不改变软件的外部行为,...
5. **Replace Type Code(替换类型码)**:在处理条件分支语句或switch语句时,如果发现有大量针对同一概念的类型码,可以考虑使用类代替,引入多态性,提高代码的灵活性和可扩展性。 书中详细阐述了这些重构手法的...
This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape.Refactoring, Second Edition,features an updated catalog of refactorings and includes ...
《重构:改善既有代码的设计》是马丁·福勒(Martin Fowler)的一本经典著作,它在IT领域中具有深远的影响,特别是在软件开发和维护方面。这本书详细阐述了如何通过重构来提升现有代码的设计质量,从而使得软件系统...
Refactoring Improving The Design of Existing Code 重构已有代码
《重构 - Improving the Design of Existing Code》是马丁·福勒(Martin Fowler)的经典著作,这本书深入探讨了软件开发中的一个重要实践领域——重构。重构是指在不改变代码外在行为的前提下,改善其内部结构,使...
Refactoring Improving The Design Of Existing Code
- **Refactoring Tools for Visual Studio**:针对.NET平台的重构插件。 **5. 面向对象设计的优化** 重构不仅仅局限于简单的代码优化,它还涉及到更深层次的面向对象设计原则。通过遵循良好的设计原则,如单一...
"Refactoring" was conceived in Smalltalk circles, but it wasn't long... The key to keeping code readable and modifiable is refactoring—for frameworks, in particular, but also for software in general.
这本书专注于一个非常重要的软件开发实践,即重构(Refactoring)。重构指的是在不改变外部功能的前提下,对软件的内部结构进行改善的过程。该书的描述提到了书中包含的每个重构方法的书签,为读者查找提供了便利。...
《Refactoring: Improving the Design of Existing Code》是软件开发领域的一本经典著作,由Martin Fowler著述。这本书深入探讨了重构这一关键的软件工程实践,对于Java开发者来说尤其具有指导意义。重构是指在不...
7. **多态取代类型码**:使用继承和多态来代替类型码(type code),减少硬编码带来的维护问题。 8. **分解条件表达式**:将复杂的条件表达式拆分为多个较小的部分,使得每个部分的意图更为明显。 9. **提取超类**:...
《代码重构:改善既有代码的设计》是一本由Martin Fowler所著的经典著作,它深入探讨了如何通过重构来提升软件设计的质量。重构是软件开发过程中的一个重要环节,它并不改变代码的功能,而是通过优化代码结构,使其...
1. **重复代码**(Duplicate code):同一段代码出现在不同的位置,增加了维护成本。 2. **过长的函数**(Long methods):一个函数承担了过多的责任,难以阅读和理解。 3. **过大的类**(Big classes):一个类包含...
### 经典书籍《重构》(Refactoring: Improving the Design of Existing Code) #### 书籍概述 《重构:改善既有代码的设计》是一本由马丁·福勒(Martin Fowler)、肯特·贝克(Kent Beck)、约翰·布兰特(John ...
### 重构:改进现有代码设计 #### 一、引言 《重构:改进现有代码设计》是一本由Martin Fowler、Kent Beck、John Brant、William Opdyke 和 Don Roberts共同贡献的经典著作,首次出版于2002年。...
### 代码重构:改进现有代码的设计 #### 一、引言 代码重构是软件开发过程中一个重要的环节,它指的是在不改变程序外部行为的前提下,通过调整内部结构来提高代码的质量和可维护性。《重构:改善既有代码的设计》这...