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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

代码坏味道之霰弹式修改 (Shotgun Surgery)

定义 霰弹式修改指的是:如果每遇到某种变化,你都必须在许多不同的类内做出许多小修改。 影响 需要修改的代码散布四处,你不但很难找到它们,也很容易错...

周三 · 2024-10-02 · 5 分钟 · Yuechen

代码坏味道之发散式变化 (Divergent Change)

定义 某个模块经常因为不同的原因在不同的方向上发生变化 影响 通常,发散式变化是由于多个变化方向之间有较多的来回调用或者函数内部混合了多类处理逻辑...

周三 · 2024-09-25 · 4 分钟 · Yuechen

代码坏味道之可变数据 (Mutable Data)

定义 对数据的修改经常导致出乎意料的结果和难以发现的Bug 影响 影响可维护性,在一处修改数据,却在另一处造成难以发现的破坏 改进目标 应用“数据不可...

周六 · 2024-09-21 · 3 分钟 · Yuechen