`

代码坏味道

 
阅读更多

1、代码坏味道

重复代码(Duplicated Code)

Extract Class;

Extract Medhod;

Pull Up Method;

Template Method 设计模式;

 

过长函数(Long Method)

Extract Method

Replace Temp with Query

Introduce Parameter Object、Preserve Whole Object

Replace Method with Method Object

 

Large Class(过大的类)

Extract Class

Extract Subclass

Extract Interface

 

Long Parameter List(过长参数列)

Introduce Parameter Object、Preserve Whole Object

 

Divergent Change(发散式变化)

软件本就该“软”,一旦需要修改,希望直接跳到修改点,只在该处修改不影响其他。

Extract Class

 

Shotgun Surgery(散弹式修改)

Move Method 

Move Field

Inline Class

 

Feature Envy(依恋情结)

Move Method 

Move Field

Extract Class

 

Data Clumps(数据泥团)

Extract Class

Introduce Parameter Object

Preserve Whole Object

 

Primitive Obsession(基本类型偏执)

Replace Data Value with Object

Replace Type Code with Class、Replace Type Code with State/Strategy

 

 

Switch Statements(switch 惊悚现身)

Replace Type Code with Subclasses 

Replace Type code iwth State/strategy

Replace Conditional with Polymorphism

Replace Parameter with explicit Methods

Introduce Null Object

 

Parallel Inheritance Hierarchies(平行继承体系)

Move method

Move field

 

Lazy Class(冗赘类)

Collapse Hierarchy

 

Speculative Generality(夸夸其谈未来性)

Collapse Hierarchy

Inline Class

Rename Method

 

Temporary Field(令人迷惑的字段)

Extract Class

Introduce Null Object

 

Message Chains(过度耦合消息链)

Hide Delegate

 

Middle Man(中间人)

Remove Middle Man

InlineMethod

Replace Delegation with Inheritance

 

Inappropriate Intimacy(狎昵关系)

Move Method

Move Field

Change Bidirectional Association to Unidirectional

Hide Delegate

 

Alternative Classes with Different Interfaces(异曲同工的类)

Rename Method

Extract Superclass

 

Incomplete Library Class(不完美的类库)

Introduce Foreign Method

Introduce Local Extension

Data Class(纯挚的数据类)

Encapsulate Field

Encapsulate Collection

Remove Setting Method

 

Refused Bequest(被拒绝的遗赠)

Push Down Method\

Push Down Field

Replace Inheritance with Delegation

 

Comments(过多的注释)

Rename Method

Extract Class

 

 

分享到:
评论

相关推荐

    编码中的21种代码坏味道

    "编码中的21种代码坏味道" 在设计和编码中,存在着21种代码坏味道,这些坏味道可能会给后续维护带来极大影响。如果我们能够识别和消除这些坏味道,那么我们的代码将变得更加简洁、可维护和可扩展。 Duplicated ...

    代码坏味道整理

    标题“代码坏味道整理”指的是在编程过程中,代码可能会出现的一些不良习惯或低效的编程实践,这些被称为“代码坏味道”。这些坏味道通常会使代码难以理解、维护和扩展,降低了软件的质量。为了提高代码可读性和可...

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

    ### 《重构 改善既有代码的设计》之代码的坏味道 #### 代码的坏味道简介 重构是一种改进代码质量的重要手段,它不仅能够提升代码的可读性和可维护性,还能帮助开发者更好地理解现有系统架构。《重构 改善既有代码...

    代码的坏味道 重构方式对应表

    以下是一些常见的代码坏味道及其对应的重构方法: 1. **重复代码 (DRY - Don't Repeat Yourself)**:通过提炼方法、提取类等方式消除代码重复。 2. **过长方法**:可以使用提取方法来拆分长方法,提高代码可读性。...

    5种出现次数较多的代码坏味道

    然而,在实际工作中,我们常常会遇到一些"代码坏味道",即代码中常见的不良模式,它们降低了代码质量,增加了维护难度。以下是我近期在代码审查中注意到的五种出现次数较多的代码坏味道,并针对每一种提供了解决建议...

    软件重构技术(重构介绍、重构原则、代码的坏味道。。。)

    常见的代码坏味道包括: 1. **长方法**:如果一个方法执行多个职责,应考虑拆分为多个小方法,每个方法只做一件事。 2. **重复代码**:重复的代码不仅浪费存储空间,也增加了维护成本。通过创建函数或类来实现代码...

    Ruby-ReekRuby代码味道探测器

    代码坏味道,也被称为“code smell”,是软件开发中用来描述代码质量低下、结构不佳或者不易理解的现象。这些坏味道可能并不直接影响程序的运行,但它们往往预示着潜在的问题,比如复杂性增加、可读性下降或维护成本...

    代码TOP10的坏味道

    ### 代码TOP10的坏味道 #### 1. 返回值处理 在Java开发中,一个常见的问题是**返回值处理不当**。这个问题通常出现在函数调用后,如果调用方忽略了处理被调用函数的返回值,特别是当这些返回值对于后续业务逻辑有...

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

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

    JavaScript代码分析技术综述.pdf

    JavaScript代码分析技术综述对Web系统的开发和展示产生了巨大变革,但同时也带来了代码坏味道等潜在问题。 本文对1995年以来国内外会议和期刊论文进行调研,根据文献来源和主题选择了291篇高水平论文进行深入分析,...

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

    Fowler列举了多种常见的代码坏味道,如长方法、重复代码、开关陈述、数据泥团等,并提供了相应的检测策略。 其次,"选择合适的重构模式"是改善代码的关键。书中列举了数十种重构模式,如提取方法、提炼类、引入参数...

    重构-改善既有代码的设计(含中文PDF,英文chm)

    1. **识别代码坏味道**:书中列出了一些常见的代码坏味道,如重复代码(Duplicated Code)、过长方法(Long Method)、过大的类(Large Class)等。识别这些症状是重构的第一步。 2. **使用单元测试**:重构过程中...

    构改善既有代码的设计

    1. **识别代码坏味道**:书中列举了多种常见的代码坏味道,如重复代码(Duplicated Code)、长方法(Long Method)和数据泥团(Data Clumps)等。这些坏味道是代码需要重构的信号。 2. **重构策略与技术**:马丁·...

    修改代码的艺术

    2. **识别坏味道**:书中列举了多种“代码坏味道”,如重复代码(Duplicated Code)、过长函数(Long Method)、过大的类(Large Class)等,这些都是代码质量下降的信号,需要进行重构。 3. **设计原则**:书中...

    2代码大全.rar

    《代码大全》提供了关于重构的实用指南,包括识别代码坏味道、应用重构技术以改善代码结构,以及如何在保持软件功能不变的前提下提高代码质量。书中还讨论了如何通过持续集成和持续交付来实现更快的开发迭代。 关于...

    重构-改善既有代码设计

    1. **识别代码坏味道**:比如冗余代码、过长函数、重复代码、复杂条件表达式等,这些都是需要重构的信号。 2. **提取方法**:将大函数分解成多个小函数,每个函数只做一件事情,提高代码的可读性。 3. **引入参数...

    揭密代码结构

    6. **代码重构**:这是优化代码结构的重要手段,包括识别和移除代码坏味道,以及如何通过提取函数、类或模块来改善代码结构。 7. **软件架构**:大型项目需要有清晰的架构,如分层架构、微服务架构等。书中可能会...

Global site tag (gtag.js) - Google Analytics