1、重复代码(Duplicated Code)
2、过长函数(Long Method)
3、过大的类(Large Class)
4、过长参数列表(Long Parameter List)
5、发散式变化(针对不断变化的需求不断修改的同一个类):针对某一外界变化的所有相应修改应该都只发生在单一类中。
6、霰弹(xian dan)式变化(Shotgun Surgery):每遇到某种变化,你都需要在许多不同的类内进行修改。
7、依恋情节(Feature Envy):某个函数为了计算某个值从另一个对象调用了几乎一半的函数。(一个函数往往会用到几个类的功能,那么如何判断该方法应该放在哪个类中呢?我们的原则是:判断哪个类拥有最多被此函数使用的数据,然后就把这个函数和那些数据摆在一起。)
8、数据泥团:两个类中有相同的字段、许多函数签名中有相同的参数。
9、基本类型偏执(Primitive Obsession): 建议使用对象类型,使用Integer而不是int。
10、Switch Statements:少用switch语句
11、平行继承体系(Parallel Inheritance Hierarchies):每当你为某个类增加一个子类,必须也为另一个类相应的增加一个子类。
12、冗赘(rongzhui)类(Lazy Class):如果一个类没有价值,就应该消失。
13、夸夸其谈未来性(Speculative Generality):以各种未来可能的需求或非必要的功能呢个为接口而添加毫无意义的代码
14、令人迷惑的暂时字段(Temporary Field):其内某个实例变量仅为某种特定情况而设定。
15、过度耦合的消息链(Message Chains):如果用户向一个对象请求另一个对象,然后在向后者请求另一对象,然后在请求另一个对象,这就是消息链。过深的调用层次或是过度的对象关系耦合。
16、中间人(Middle Man):
17、狎昵关系(Inappropriate Intimacy):两个类关系过于紧密:
18、异曲同工的类(Alertnative Classes with different interface):两个函数做同一件事却有不同的签名。
19、不完美的类库(Incomplete Libarary Class):类库无法被高效的重用;
20、纯稚的数据类(Data Class):它们拥有一些字段,以及用于访问(读写)这些字段的函数,除此之外一无长物。
21、被拒绝的遗赠(Refused Bequest):子类应该继承超类的函数和数据。
22、过多的注释(Comments)
相关推荐
"编码中的21种代码坏味道" 在设计和编码中,存在着21种代码坏味道,这些坏味道可能会给后续维护带来极大影响。如果我们能够识别和消除这些坏味道,那么我们的代码将变得更加简洁、可维护和可扩展。 Duplicated ...
标题“代码坏味道整理”指的是在编程过程中,代码可能会出现的一些不良习惯或低效的编程实践,这些被称为“代码坏味道”。这些坏味道通常会使代码难以理解、维护和扩展,降低了软件的质量。为了提高代码可读性和可...
以下是对书中提到的“代码坏味道”及其相关启发的详细解读: ### 注释 - **C1. 不恰当的注释**:注释应阐明代码意图而非代码本身。过度或不必要的注释会增加阅读负担,甚至误导后续开发者。正确的注释应当揭示代码...
重构、代码坏味道和解决方法 在软件开发中,代码坏味道是一个常见的问题,会使代码变得难以维护和扩展。今天,我们将讨论三种常见的代码坏味道:Duplicated Code、Long Method和Large Class,并提供相应的解决方法...
### 《重构 改善既有代码的设计》之代码的坏味道 #### 代码的坏味道简介 重构是一种改进代码质量的重要手段,它不仅能够提升代码的可读性和可维护性,还能帮助开发者更好地理解现有系统架构。《重构 改善既有代码...
以下是一些常见的代码坏味道及其对应的重构方法: 1. **重复代码 (DRY - Don't Repeat Yourself)**:通过提炼方法、提取类等方式消除代码重复。 2. **过长方法**:可以使用提取方法来拆分长方法,提高代码可读性。...
然而,在实际工作中,我们常常会遇到一些"代码坏味道",即代码中常见的不良模式,它们降低了代码质量,增加了维护难度。以下是我近期在代码审查中注意到的五种出现次数较多的代码坏味道,并针对每一种提供了解决建议...
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿...
文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿...
常见的代码坏味道包括: 1. **长方法**:如果一个方法执行多个职责,应考虑拆分为多个小方法,每个方法只做一件事。 2. **重复代码**:重复的代码不仅浪费存储空间,也增加了维护成本。通过创建函数或类来实现代码...
代码坏味道,也被称为“code smell”,是软件开发中用来描述代码质量低下、结构不佳或者不易理解的现象。这些坏味道可能并不直接影响程序的运行,但它们往往预示着潜在的问题,比如复杂性增加、可读性下降或维护成本...
### 代码TOP10的坏味道 #### 1. 返回值处理 在Java开发中,一个常见的问题是**返回值处理不当**。这个问题通常出现在函数调用后,如果调用方忽略了处理被调用函数的返回值,特别是当这些返回值对于后续业务逻辑有...
《重构-第3章 代码的坏味道》是软件开发领域的一本经典著作,由Martin Fowler所著。这本书深入探讨了如何识别并消除代码中的不良设计模式,以提高代码质量、可读性和可维护性。在第三章中,作者详细列举了多种"代码...
JavaScript代码分析技术综述对Web系统的开发和展示产生了巨大变革,但同时也带来了代码坏味道等潜在问题。 本文对1995年以来国内外会议和期刊论文进行调研,根据文献来源和主题选择了291篇高水平论文进行深入分析,...
Fowler列举了多种常见的代码坏味道,如长方法、重复代码、开关陈述、数据泥团等,并提供了相应的检测策略。 其次,"选择合适的重构模式"是改善代码的关键。书中列举了数十种重构模式,如提取方法、提炼类、引入参数...
1. **识别代码坏味道**:书中列出了一些常见的代码坏味道,如重复代码(Duplicated Code)、过长方法(Long Method)、过大的类(Large Class)等。识别这些症状是重构的第一步。 2. **使用单元测试**:重构过程中...
1. **识别代码坏味道**:书中列举了多种常见的代码坏味道,如重复代码(Duplicated Code)、长方法(Long Method)和数据泥团(Data Clumps)等。这些坏味道是代码需要重构的信号。 2. **重构策略与技术**:马丁·...
2. **识别坏味道**:书中列举了多种“代码坏味道”,如重复代码(Duplicated Code)、过长函数(Long Method)、过大的类(Large Class)等,这些都是代码质量下降的信号,需要进行重构。 3. **设计原则**:书中...
《代码大全》提供了关于重构的实用指南,包括识别代码坏味道、应用重构技术以改善代码结构,以及如何在保持软件功能不变的前提下提高代码质量。书中还讨论了如何通过持续集成和持续交付来实现更快的开发迭代。 关于...
1. **识别坏味道**:代码坏味道是重构的起点,比如过长方法、重复代码、复杂的条件语句等,这些都是需要改进的信号。通过识别这些坏味道,我们可以找到重构的目标。 2. **微小步骤**:重构应采取小而频繁的改动,...