首页/开发/代码质量与评审速查/文档债:过期文档比没有文档更危险
技术债与度量63 条

文档债:过期文档比没有文档更危险

文档债的典型是「文档与代码不一致」:误导新人与排障;治理方式是文档贴近代码(就近 README、代码注释、ADR),把关键文档纳入变更检查清单(改接口同步改文档)。

文档债:过期文档比没有更难处理

文档债的典型形态不是文档缺失,而是文档与代码不一致:照着文档操作会失败,误导新人与排障。原因是文档被放在独立位置,与实际变更脱节。治理方向是让文档贴近代码——就近的说明文件、关键实现处的注释、架构决策记录,并把关键文档的更新纳入变更检查清单,改接口时同步改文档。

症状与治理

症状搭建指南过时、接口文档与实现不符、参数说明缺失
治理文档就近存放,变更时同步更新,定期核对
度量刚入职者按文档走一遍的失败次数
配套变更检查清单中列出需要同步的文档项

典型使用场景

  • 新人上手:按搭建文档实际走一遍,把失败点作为待修清单
  • 接口变更:同步更新对外文档与示例,避免调用方按旧说明接入
  • 配置新增:更新部署说明与参数表,减少反复询问
  • 故障处理:把排障步骤沉淀为可执行的处置手册
  • 架构决策:记录决策背景与取舍,避免后续重复讨论

变更同步清单

变更同步清单
# 提交前逐项确认
- 接口变更 → 更新接口文档与调用示例
- 配置新增 → 更新部署说明与参数表
- 流程调整 → 更新处置手册
- 架构决策 → 补决策记录,并在原文档留引用

文档位置对照

文档类型建议位置更新时机
项目搭建说明仓库根目录说明文件依赖或步骤变化时
模块设计说明模块目录内就近存放结构或职责调整时
接口说明与接口定义同处维护,尽量自动生成接口签名变化时
处置手册运维仓库,按服务组织故障复盘产生新步骤时
决策记录仓库内的决策目录重要取舍确定时
能自动生成的文档优先自动生成:接口说明从定义生成、参数表从配置生成,可以减少人为遗漏。人工维护的部分聚焦在决策背景与操作步骤上。
文档集中放在独立仓库时更新惰性更大:改动代码的提交往往不会同时改另一处文档,漂移会持续累积。尽量把必要的说明放在被修改代码附近。

落地检查清单

  • 关键文档的位置便于随代码一起更新
  • 变更检查清单包含文档同步项
  • 有人按文档走一遍并记录失败点
  • 定期清理明显过期的文档,避免误导

易错点

  • 文档集中在独立仓库:更新惰性大,漂移更快,最后无人敢信
  • 为文档而文档:缺少读者与使用场景的文档迅速过期,反而增加维护负担
  • 只改代码不同步文档:调用方按旧说明接入,问题在上线后集中爆发
  • 缺关键决策记录:后续团队重复讨论同一取舍,甚至改回已被否定的方案

数据来源与参考

  • 文档债治理实践(docs-as-code 与就近文档)综合
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌