重构:提升代码质量与设计技巧
4星 · 超过85%的资源 需积分: 9 63 浏览量
更新于2024-07-26
收藏 1.27MB PDF 举报
"重构-改善既有代码的设计_简体中文"
重构是软件开发过程中的一种关键实践,旨在提升代码的可读性、可维护性和整体质量,而不会改变其外在行为。该资源可能是一本书或者一个详细的指导文档,专门讨论如何通过一系列特定的操作,即重构技术,来改进现有代码的设计。
1. **Refactorings(重构)列表**
- **AddParameter(添加参数)**: 在函数或方法中增加新的输入参数,以更精确地传递信息,减少隐含的依赖。
- **ChangeBidirectionalAssociationtoUnidirectional(将双向关联改为单向)**: 减少类之间的耦合,使设计更简洁。
- **ChangeReferencetoValue(将引用对象改为实值对象)**: 当只需要对象的值时,可以避免不必要的引用复杂性。
- **ChangeUnidirectionalAssociationtoBidirectional(将单向关联改为双向)**: 在必要时增强两个类之间的关系,使得数据访问更加方便。
- **ChangeValuetoReference(将实值对象改为引用对象)**: 当需要对对象进行更多操作时,从简单的值转换为对象可以提供更多的功能。
- **CollapseHierarchy(折叠继承体系)**: 合并相似的类,简化类层次结构。
- **ConsolidateConditionalExpression(合并条件式)**: 将多个条件判断整合成一个,提高代码可读性。
- **ConsolidateDuplicateConditionalFragments(合并重复的条件片段)**: 避免条件逻辑的重复,提高代码一致性。
- **ConvertProceduralDesigntoObjects(将过程化设计转化为对象设计)**: 采用面向对象的原则,提高代码的模块化和复用性。
- **DecomposeConditional(分解条件式)**: 将复杂的条件表达式拆分为独立的函数或方法,便于理解和测试。
- **DuplicateObservedData(复制「被监视数据」)**: 在多处使用的共享数据上引入冗余,以减少间接访问带来的复杂性。
- **EncapsulateCollection(封装群集)**: 封装对集合的操作,提供更安全和一致的接口。
- **EncapsulateDowncast(封装「向下转型」动作)**: 隐藏具体的类型转换,使代码更易于维护。
- **EncapsulateField(封装值域)**: 通过访问器和修改器方法保护字段,防止外部直接访问。
- **ExtractClass(提炼类)**: 把相关的方法和属性从一个类移到新的类中,实现更好的职责分离。
- **ExtractHierarchy(提炼继承体系)**: 创建新的抽象类或接口,以更好地反映类之间的关系。
- **ExtractInterface(提炼接口)**: 提取公共行为的接口,促进多态性。
- **ExtractMethod(提炼函数)**: 将大函数分解为小函数,提高代码的可读性和可重用性。
- **ExtractSubclass(提炼子类)**: 为了实现特定功能,从现有类派生出子类。
- **ExtractSuperclass(提炼超类)**: 将共享代码提炼到一个共同的超类中,减少代码重复。
- **FormTemplateMethod(塑造模板函数)**: 将不变的步骤提取为模板方法,允许子类定制可变部分。
- **HideDelegate(隐藏「委托关系」)**: 隐藏对象之间的依赖,提供更简洁的API。
- **HideMethod(隐藏某个函数)**: 避免不必要的暴露,提高封装性。
- **InlineClass(将类内联化)**: 当一个类只包含一个方法且没有其他状态时,将其方法直接放入调用者中。
- **InlineMethod(将函数内联化)**: 如果一个函数很小且仅被一个地方调用,可以将其实体替换掉调用。
- **InlineTemp(将临时变量内联化)**: 直接使用计算结果,减少临时变量的使用。
- **IntroduceAssertion(引入断言)**: 在代码中加入断言,以确保程序在关键点上的正确性。
- **IntroduceExplainingVariable(引入解释性变量)**: 提取表达式的结果到一个新的变量,使其意图更清晰。
- **IntroduceForeignMethod(引入外加方法)**: 当需要在另一个类上执行操作时,但又不想破坏封装,可以在当前类中添加一个委托方法。
这些重构技术是软件开发人员用来优化代码结构和设计的重要工具。通过系统地应用这些重构,开发者可以持续改进代码,使其更易于理解、测试和维护。在实践中,应结合代码审查、自动化测试和版本控制等最佳实践,确保重构过程的安全和有效性。
242 浏览量
点击了解资源详情
点击了解资源详情
111 浏览量
2009-07-16 上传
点击了解资源详情
148 浏览量
ReadGo_xxg
- 粉丝: 8
- 资源: 227
最新资源
- cockpit-samba-manager.zip
- java源码查看-ezpublish-groupdocs-viewer-java-source:ezpublish-groupdocs-vie
- 带有科技感的平板电脑与数据背景图片PPT模板
- 互联网思维学习网络营销策划方案ppt模板.zip
- next-js-博客评论
- ML-Thon-Prediction
- scrapStackExchange:废弃各种堆栈交换站点,以观察各种编程语言的使用趋势
- IDEA新建mybatis遇到不能执行的问题.zip
- 创新生活商务平台网页模板
- 酱茄Free主题(资讯/媒体/博客WordPress主题)开源版
- 书籍黑板背景卡通风论文答辩通用ppt模板.zip
- e1039-data-mgt
- java源码查看-htmlarea-groupdocs-viewer-java-source:htmlarea-groupdocs-viewe
- main.github.io
- 1953-2010年 全国6次人口普查数据汇总.zip
- 中秋节声效动画ppt模板——锐普公司出品.rar