`
liuheizi120
  • 浏览: 4273 次
社区版块
存档分类
最新评论

第三章 代码中的坏味道

 
阅读更多
一、Duplicated Code(重复代码)
1、同一个类中的两个函数含有相同表达式。采用Extract Method提炼出重复的代码。
2、两个互为兄弟的子类内含有重复表达式。对每个类都使用Extract Method提炼出重复的代码,然后在对被提炼出的代码使用Pull Up Method,将它推入父类中。如果两个兄弟类中的代码只是类似而非相同时,使用Extract Method将类似部分的相同部分和不同部分分别提炼为两个函数,使用Form Template Method(模板设计模式)。如果有些函数以不同的算法做相同的事,可以选择其中较清晰的一个,并使用Substitute Algorithm将其他函数的算法替换掉。
3、如果两个毫不相关的类出现Duplicated Code,考虑将其中一个使用Extract Class,将重复代码提炼到一个独立的类中,然后分别使用新类。但是可能这个共同使用的函数可能放到其中的一个类中更合适,或者也可能这个函数适合存在于第三个已经存在的类中。
  
分享到:
评论

相关推荐

    重构-第3章 代码的坏味道-读书笔记

    《重构-第3章 代码的坏味道》是软件开发领域的一本经典著作,由Martin Fowler所著。这本书深入探讨了如何识别并消除代码中的不良设计模式,以提高代码质量、可读性和可维护性。在第三章中,作者详细列举了多种"代码...

    《重构 改善既有代码的设计》之代码的坏味道

    以上列出的是《重构 改善既有代码的设计》书中提到的一些常见的代码“坏味道”。通过识别并解决这些问题,开发者可以显著提升代码的质量。值得注意的是,重构并非一蹴而就的过程,而是一个持续改进的过程。随着项目...

    《重构改善既有代码的设计第2版》第1章 重构,第一个示例重构过程

    1. 识别代码坏味道及其影响。 2. 使用重构技术改进代码结构。 3. Git的使用,包括提交、查看历史和版本回退。 4. 单元测试在重构中的角色及编写测试用例的方法。 5. 如何利用IDE和插件进行有效的重构。 6. 实践重构...

    重构_改善既有代码的设计_第一章源码

    1. **识别坏味道**:首先,我们需要识别出代码中的“坏味道”,这可能是冗余代码、复杂的条件逻辑、过长的方法等。在本章的例子中,作者可能会展示如何发现这些代码问题。 2. **应用重构模式**:Fowler在他的书中...

    重构_改善既有代码的设计

    第 3 章:代码的坏味道(Bad Smells in Code, by Kent Beck and Martin Fowler) 第 4 章:建立测试体系(Building Tests) 第 5 章:重构名录(Toward a Catalog of Refactoring) 第 6 章:重新组织你的...

    软件工程中的代码重构技术.pptx

    #### 第3章:代码重构的工具 **3.1 代码质量检测工具** - **SonarQube**:全面的代码质量管理平台,支持多种编程语言。 - **PMD**:用于静态分析的工具,帮助识别可能的代码问题。 - **Checkstyle**:检查Java源...

    重构:改善既有代码的设计(第2版)1

    第3章“代码的坏味道”列举了22种常见的代码异味,这些是代码质量下降的信号,如神秘命名、重复代码、过长函数等。作者指出,当代码出现这些问题时,可能需要进行重构。通过对这些坏味道的识别,开发者可以更好地...

    大型企业级分布式订单系统项目-课程大纲

    第三章 预支付中的技术问题分析和代码落地 第四章 支付成功后的履约场景问题分析和代码落地 第五章 阿里云生产环境部署演示 第六章 超时自动取消订单场景中的问题分析和代码落地 第七章 取消订单全链路技术问题分析...

    重构-改善既有代码的设计+中文版

    第1章:重构的第一个案例 第2章:重构原则 第3章:代码的坏味道 第4章:构筑测试体系 第5章:重构名录 。。。

    46625 修改代码的艺术_代码_艺术_46625KB_

    "2-3.pdf"和"2-3.txt"可能是书中第二章至第三章的内容,这部分可能详细讨论了代码重构,这是提高代码质量的重要手段。重构可以使得代码结构更清晰,逻辑更简洁,同时不改变外部行为。作者可能会分享如何识别代码坏...

    有效的单元测试

    第3章讨论现代程序员最基本的工具之一——测试替身。第二部分(第4~6章)的目标是帮助我们更好地识别并修复测试代码中的坏味道。第4章展示破坏测试可读性的坏味道。第5章继续对破坏可维护性的测试提供建议。第6章...

    程序员该读的十本好书之《重构改善既有代码的设计》

    第3章Kent Beck介绍如何嗅出代码中的【坏昧道】,以及如何运用重构清除这些坏味道。「测试」在重构中扮演非常重要的角色,第4章介绍如何运用一个简单的(源码开放的)Java测试框架,在代码中构筑测试环境。 本书的...

    重构:改善既有代码的设计(中文高清版)

    第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列)78 3.5 DivergentChange(发散式变化)79 3.6 ...

    重构:改善既有代码的设计.[美]Martin Fowler.epub【文字版手机格式】

    第3章 代码的坏味道 3.1 Duplicated Code(重复代码) 3.2 Long Method(过长函数) 3.3 Large Class(过大的类) 3.4 Long Parameter List(过长参数列) 3.5 Divergent Change(发散式变化) 3.6 Shotgun Surgery(霰弹...

    重构-改善既有代码的设计

    第3章 代码的坏味道 75 3.1 Duplicated Code(重复代码) 76 3.2 Long Method(过长函数) 76 3.3 Large Class(过大的类) 78 3.4 Long Parameter List(过长参数列) 78 3.5 Divergent Change(发散式...

    软件工程中的代码质量与重构策略.pptx

    - **识别坏味道**:找到代码中的问题区域。 - **制定计划**:规划重构的具体步骤。 - **执行重构**:按照计划实施代码修改。 - **验证结果**:测试重构后的代码,确保功能正确且质量提升。 - **重构实战**: -...

    重构 改善既有代码的设计 源码

    这个压缩包文件包含了书中的第一章部分的源码示例,可能是为了帮助读者更好地理解重构实践。 在重构过程中,我们首先需要理解几个核心概念: 1. **识别坏味道**:当代码出现“坏味道”(code smell)时,如冗余...

    重建——改善既有代码的设计

    第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列)78 3.5 DivergentChange(发散式变化)79 3.6 ...

    重构:改善既有代码的设计(中文版).

    第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列)78 3.5 DivergentChange(发散式变化)79 3.6 ...

Global site tag (gtag.js) - Google Analytics