首页/开发/代码质量与评审速查/行为不变:重构的验收标准
重构手法62 条

行为不变:重构的验收标准

行为不变指对外可观察行为保持一致:接口输出、错误码、日志格式、副作用、性能数量级都属于行为;内部实现、私有结构、算法步骤可以改。

属于行为返回值、异常、错误码、副作用、协议输出
不属于行为私有方法命名、内部数据结构、代码行数

常见边界判断

改动是否行为变化说明
提取私有函数否调用方无感知
调整日志文本是监控与排障依赖日志
更换内部缓存实现可能缓存对调用方不可见时为否
修改接口错误码是调用方契约改变
拿不准某改动是否属于行为:先写测试断言现状再改,绿灯说明未破坏。

易错点

  • 顺手改日志格式:被监控解析依赖,排障时才暴露
  • 把缓存换实现当纯重构:命中率与一致性语义可能改变

数据来源与参考

  • 《重构》第 2 版 · 第 1 章(两顶帽子与行为保持)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌