顺手偿还是什么
童子军规则在债务上的应用:每次改动顺手清理所在局部——改个名字、去掉一处重复、补一个小测试、删掉一段死代码。它不追求一次偿清,而靠持续的小额投入压低利息;配合债务台账效果更好——每次触达热点模块时,顺手清掉台账里的一格。
基本信息
| 范围 | 本次改动直接接触的局部 |
|---|---|
| 动作 | 一件小事:改名 / 提取 / 补测 / 删死码 |
| 边界 | 不扩大为无关模块的重构 |
| 记录 | 完成的额度回填债务台账,避免同一处反复清理 |
适合顺手做的事
- 把本次改到的变量或函数改成更贴切的名字
- 删除本次改动路径上已经无用的分支与开关
- 为本次修改的函数补一个覆盖新逻辑的断言
- 把重复出现两次的片段提取为一个方法
- 把魔法值替换为命名常量
- 为将要动用的模糊逻辑补一段注释或一个示例测试
PR 中顺手偿还示例
PR 中顺手偿还示例
本 PR:新增导出格式
顺手(都在本次改动路径上):
- 提取重复的编码探测函数(3 处 → 1 处)
- 删除上一版本遗留的开关分支
- 为新增的解析函数补 2 个单测
- 把 resp 改名为 exportResponse
不顺手(另开 PR):
- 重写整个报表模块的取数逻辑范围判断表
| 动作 | 同 PR 顺手做 | 另开 PR |
|---|---|---|
| 改名:本次改动路径内 | 可以 | — |
| 补测:本次修改的函数 | 可以 | — |
| 删死码:本次已触达的分支 | 可以 | — |
| 重构同目录但未触达的类 | — | 建议 |
| 跨模块替换公共组件 | — | 必须 |
| 调整公共接口签名 | — | 必须 |
范围判断的实用标准:顺手改动与原改动是否落在同目录、同一测试范围、同一个可独立回滚的单位里。三条都满足,就是顺手;有一条不满足,就该拆出去。
顺手偿还的最大收益是让改进不再需要专门立项。坚持几个迭代后,改动频繁的模块会因为每次都被顺手清理而明显变好;改动很少的模块则不必花力气,利息本来就低。