| 属于行为 | 返回值、异常、错误码、副作用、协议输出 |
|---|---|
| 不属于行为 | 私有方法命名、内部数据结构、代码行数 |
常见边界判断
| 改动 | 是否行为变化 | 说明 |
|---|---|---|
| 提取私有函数 | 否 | 调用方无感知 |
| 调整日志文本 | 是 | 监控与排障依赖日志 |
| 更换内部缓存实现 | 可能 | 缓存对调用方不可见时为否 |
| 修改接口错误码 | 是 | 调用方契约改变 |
拿不准某改动是否属于行为:先写测试断言现状再改,绿灯说明未破坏。
行为不变指对外可观察行为保持一致:接口输出、错误码、日志格式、副作用、性能数量级都属于行为;内部实现、私有结构、算法步骤可以改。
| 属于行为 | 返回值、异常、错误码、副作用、协议输出 |
|---|---|
| 不属于行为 | 私有方法命名、内部数据结构、代码行数 |
| 改动 | 是否行为变化 | 说明 |
|---|---|---|
| 提取私有函数 | 否 | 调用方无感知 |
| 调整日志文本 | 是 | 监控与排障依赖日志 |
| 更换内部缓存实现 | 可能 | 缓存对调用方不可见时为否 |
| 修改接口错误码 | 是 | 调用方契约改变 |