童子军规则是什么
童子军规则来自营地习惯:离开时比来到时更干净。落到代码里就是每次提交让文件比检出时略好一点——改准一个命名、删掉一段死代码、补上一个用例。小额定投比集中整顿更可持续,也天然控制风险:每次改动都在评审视野内。
基本信息
| 原意 | 离开营地时比来到时更干净 |
|---|---|
| 落地方式 | 每次提交带一个微小且相关的清理 |
| 边界 | 不把顺手改扩大成无关的大改动 |
| 前提 | 有测试或可验证的行为保证 |
| 长期效果 | 债务增长被日常动作持续抵消 |
典型使用场景
- 改动某个函数时,顺手把误导性的命名改准确
- 删掉本文件里已确认无人引用的死代码
- 补齐本次改动涉及分支的缺失测试
- 把重复出现三次以上的字面量提成常量
- 修正与实现不符的注释与文档
评审里怎么提
评审里怎么提
// 可以这样顺手提出:
// 这个分支顺手提取成函数,改动在五行以内
// 这处命名改成与实际职责一致,建议随本次改动一起做
// 顺手补上这个边界条件的用例,避免下次又改坏该顺手做与不该做
| 类别 | 例子 | 判断 |
|---|---|---|
| 低风险清理 | 命名、注释、死代码 | 改动小且与本次改动相关 |
| 测试补强 | 补当前分支用例 | 有明确验证价值 |
| 结构调整 | 拆类、替换设计模式 | 牵扯面大,另开任务 |
顺手改的上限是相关性:本次改动碰到的那几行、那个函数、那个文件。超出范围就该另开任务,别把评审变成考古现场。
只清理不改测试:行为保证不足时,清理本身也可能引入缺陷;没有测试覆盖的老代码,先用特征测试锁定行为再顺手整理。
顺手清理也走正常流程:正常提交、正常评审、改完跑一遍测试;不要用未经评审的批量脚本替换来清代码,那类改动最容易引入难以定位的小问题。