代码坏味道之临时字段 (Temporary Field)

定义 某个实例变量仅为代码中一小部分功能临时所用而创建 影响 通常一个对象会需要它的全部的变量。当一个变量看上去没什么用,却要试图了解他为什么在哪...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之夸夸其谈的通用性 (Speculative Generality)

定义 过度的考虑程序的通用性 影响 过度的设计导致代码不易理解和维护 改进目标 删除过度设计的代码 方法 折叠继承体系 内联类/函数 改变函数声明 移除死代码 案...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之冗赘的元素 (Lazy Element)

定义 冗赘的元素主要包括:由于过度设计或在代码演进过程中,产生的冗余、废弃或不足以独立承担其职责的类、方法、变量等 影响 代码不简洁,存在多余的元...

周日 · 2024-10-13 · 4 分钟 · Yuechen

代码坏味道之循环语句 (Loops)

定义 针对集合或数组进行简单过滤、分组、映 射、遍历操作,采用传统for循环语句进行遍历 影响 影响代码复杂度,代码不够简洁、直观,不容易理解代码意...

周日 · 2024-10-13 · 2 分钟 · Yuechen

代码坏味道之重复的Switch (Repeated Switches)

定义 在不同的地方反复使用同样的switch逻辑 影响 影响可维护性:每当需要增加一个选择分支时,必须找到所有switch,并逐一更新 改进目标 消除...

周日 · 2024-10-13 · 3 分钟 · Yuechen

代码坏味道之基本类型偏执 (Primitive Obsession)

定义 对于具有意义的业务概念如钱、坐标、范围等,不愿意进行建模,而是使用基本数据类型进行表示 影响 暴露较多细节 代码内聚性差 可读性差 改进目标 消除基...

周日 · 2024-10-13 · 2 分钟 · Yuechen

代码坏味道之数据泥团 (Data Clumps)

定义 总是成块出现的相同数据项,包括多个类中相同的字段、多个方法签名中相同的参数等 影响 成块出现的重复参数过多,影响阅读和理解,难维护 改进目标 减...

周日 · 2024-10-13 · 3 分钟 · Yuechen

代码坏味道之依恋情节 (Feature Envy)

定义 一个函数跟另一个模块中的函数或数据交流格外频繁,远胜于在自己所处模块内部的交流 影响 可读性、可维护性低:调用另一模块功能时往往需要打一套组...

周日 · 2024-10-06 · 3 分钟 · Yuechen