首页/开发/代码质量与评审速查/手法:Combine Functions into Class / Transform
重构手法62 条

手法:Combine Functions into Class / Transform

多个函数围绕同一份数据工作:用 Combine Functions into Class 把数据与行为合并为类;处理「先输入再输出」的管道用 Combine Functions into Transform 聚为一次转换。

选择有持续状态 → Class;一次性数据变形 → Transform
效果调用方依赖减少,中间结构可隐藏

类合并示意

类合并示意
// 之前散落
base(reading), taxable(reading), total(reading)

// 之后
class Reading {
    double base() { ... }
    double taxable() { ... }
}

易错点

  • 把无关函数硬塞进类:类成为杂物间
  • Transform 里混合 I/O:纯变形与副作用纠缠,难测试

数据来源与参考

  • 《重构》第 2 版 · 第 6 章(Combine Functions into Class / Transform)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌