检查 TODO
只检查、只汇报,不要动代码:不删标记、不实现、不改写。列完表停下等用户指示。
扫哪些
- 源码里的
TODO/FIXME/HACK/XXX标记 - 项目文档里的同类标记
尚未勾选的计划条目不算 TODO——那是还没执行的排期,不在本次检查范围内。
怎么判定
逐条查证,不许只读标记文本就下结论。 每条都要看它所在的代码现在是什么样、它提到的对象 (接口、开关、版本、前置工作)现在还存不存在。
| 分类 | 判据 |
|---|---|
| 已过时 | 前提没了:提到的对象已删除或改名、要做的事别处已经做了、描述的问题已不复现 |
| 可以处理 | 前提成立且阻塞已解除:依赖已就位、外部条件已满足、前置工作已完成 |
| 还不能处理 | 阻塞仍在,且能指名卡在什么上 |
| 无法判定 | 查不出前提现状、标记没写清要做什么,或多条判据同时命中且分不出主次。不要硬塞进上面三类 |
- 判成「可以处理」必须说得出解除的依据;说不出就是「无法判定」。
- 标记点名了某项前置工作的:找不到对应的计划文档不等于前提消失——计划文档做完常被删掉。 必须回代码确认标记所指的临时实现是否仍在被使用,确认不了归「无法判定」,不许归「已过时」。 前置工作确实完成了才算「可以处理」,否则归「还不能处理」。
怎么列
一条一行,按 已过时 → 可以处理 → 还不能处理 → 无法判定 分组,每行给出位置 文件:行号、
标记原文摘要、判定依据——查到了什么才这么判,不许省成一个分类词。
表后直接问用户两件事,一件一问:是否清理掉已过时的标记?是否开始处理「可以处理」的条目? 有「可以处理」的多条时,让用户点名处理哪几条。不要替用户决定,也不要在没有答复前动手。