无声的 Bug——会欺骗人的文档
描述旧行为的文档——最危险的文档类型
没有适当文档的公共函数和端点
注释说的和代码做的不一致——比没有注释更糟糕
API 文档与实际端点不匹配——集成失败的首要原因
Storybook 和组件文档未反映 props 变更
TypeDoc/JSDoc 类型与实际接口和签名不符
文档和代码可能脱节的每个地方
函数和方法文档
项目和包概览
代码解释和 TODO
端点描述和示例
接口和类型注释
版本历史准确性
就像技术债务一样,文档债务会悄无声息地累积。 我们为您的代码库提供文档健康评分—— 一个数字显示您的文档与实际情况的偏离程度。
README.md
上次更新 45 天前,代码已更改 12 次
src/api/
3 个端点未文档化
CHANGELOG.md
缺失 v2.3.0、v2.3.1 的条目
src/utils/
8 个导出函数没有 JSDoc
不只是通用的文档检查——我们理解您框架的文档模式
对于函数 processPayment(amount, currency, options):
/**
* 处理支付交易
* @param amount - 以分为单位的金额(整数)
* @param currency - ISO 4217 货币代码
* @param options - 处理选项
* @param options.idempotencyKey - 唯一键
* @param options.metadata - 自定义键值对
* @returns Promise<PaymentResult>
* @throws PaymentError 如果被拒绝
*/当我们发现缺失或过时的文档时,我们不只是报告—— 我们生成修复方案。AI 分析您的 函数签名、返回类型和使用模式,提供准确的文档建议。
根据函数签名和类型创建文档
修补过时文档以匹配当前代码
需要更新的文档真实案例
/**
* 通过 ID 获取用户
* @param id - 用户 ID
* @param includeDeleted - 包括软删除的用户
*/
async function getUser(id: string, options?: GetUserOptions) {
// includeDeleted 3 个月前移到了 options 对象
// 但 JSDoc 仍显示旧签名
}JSDoc 显示带位置参数的旧签名
/**
* 通过 ID 获取用户
* @param id - 用户 ID
* @param options - 查询选项
* @param options.includeDeleted - 包括软删除的用户
* @param options.fields - 要选择的字段
*/
async function getUser(id: string, options?: GetUserOptions) {
// 文档与实际签名匹配
}已更新以匹配当前的 options 对象模式
// 指数退避重试 3 次
async function fetchWithRetry(url: string) {
const MAX_RETRIES = 5 // 从 3 改为 5
const response = await fetch(url)
// 实际上不再实现重试逻辑
return response
}注释描述的重试逻辑并不存在
// 简单的 fetch 包装器,无重试逻辑
// 如需重试,使用 @/lib/http 中的 fetchWithRetry
async function simpleFetch(url: string) {
const response = await fetch(url)
return response
}注释反映实际行为
## 安装
```bash
npm install
npm run setup # 此脚本已被删除
```
## 环境变量
- `DATABASE_URL` - PostgreSQL 连接
- `REDIS_URL` - Redis 连接 # 我们已改用内存缓存
README 引用了已删除的脚本和旧的 Redis 配置
## 安装
```bash
npm install
```
## 环境变量
- `DATABASE_URL` - PostgreSQL 连接字符串
- `CACHE_TTL` - 缓存持续时间(秒)(默认:3600)
文档反映当前的设置流程
文档审查员不只是检查文档是否存在——它验证文档是否与代码的实际行为一致。 当您更改函数签名时,它会标记相关的 JSDoc。
比较文档所说的与代码所做的
注意到代码变更使附近文档失效的情况
提供修复文档的具体文本
比较代码和文档
检查文档是否与实际实现匹配
检测变更
识别代码变更使现有文档失效的情况
标记不匹配
报告可能误导开发者的文档
建议更新
提供具体文本以更新文档
糟糕的文档比没有文档代价更高
准确的文档意味着开发者不会浪费时间走错路
新开发者可以信任他们读到的内容,而不是靠猜测
用户可以依赖您的 API 文档,无需反复试错
每次代码变更都是文档偏移的机会。
文档审查员每次都能捕获它。
这些问题每天都在悄悄发生——直到现在
的 README 文件在 6 个月内过时
的 JSDoc 注释与函数签名不匹配
因错误文档而浪费的平均调试时间
的 API 文档至少缺少一个必填字段