代码坏味道之异曲同工的类 (Alternative Classes With Different Interfaces)

定义 两个类功能一致,却有不同的定义(方法/接口) 影响 相关的业务逻辑可能会重复实现,或分布到不同类中,代码难维护 改进目标 统一接口、相同的功能只...

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

代码坏味道之过大的类 (Large Class)

定义 由于属性未分组和职责不单一而包含过多属性、方法和代码行的类 影响 随着属性、方法和代码行数的不断增加,重复代码接踵而至,最终走向混乱 改进目标...

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

代码坏味道之内幕交易 (Insider Trading)

定义 模块之间互相引用,私下直接进行大量的数据访问和交换 影响 增大模块间的耦合,容易导致循环依赖,加快架构腐化,甚至会朝着大泥球式的架构发展,严...

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

代码坏味道之中间人 (Middle Man)

定义 一种过度使用委托(某类中一半以上方 法都委托给其他类)的代码 影响 当需求发生某些变化的时候,作为中间人的代码总会被牵连一并修改,代码越发臃肿...

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

代码坏味道之过长的消息链 (Message Chains)

定义 如果你看到用户向一个对象请求另一个对象,然后再向后者请求另一个对象, 然后再请求另一个对象……这就是消息链。在实际代码中你看到的可能是一长...

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

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

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

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

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

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

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

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

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

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