首页/开发/代码质量与评审速查/坏味道:数据泥团(Data Clumps)
重构手法62 条

坏味道:数据泥团(Data Clumps)

多个字段或参数总是一起出现(开始/结束时间、经纬度成对出现):用 Extract Class 或 Introduce Parameter Object 合并为类型,并顺手消除重复校验逻辑。

信号两三个字段总是同行出现、判空/校验逻辑重复
手法Extract Class / Introduce Parameter Object
收益行为与校验能集中到新类型

前后对比

前后对比
// 之前
createEvent(String start, String end, ...)

// 之后
createEvent(TimeRange range, ...)

易错点

  • 只合并字段不搬行为:新类型成为纯数据袋
  • 忽略两个概念只是恰好相同:语义不同的组合不该合并

数据来源与参考

  • 《重构》第 2 版 · 第 3 章(Data Clumps)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌