用途:为编写自文档化代码与使用代码注释提供标准,适用于审计、清理或改进内联注释。
核心思想:最好的注释是不需要写的注释。优先通过命名、结构和类型系统让代码自解释,注释只写“为什么”,不写“什么”。
应当在以下情况写注释:解释原因或约束、警告陷阱与边界情况、引用外部上下文(工单、规范、RFC)、记录性能决策、说明复杂业务逻辑。
不应写注释的情况:复述代码、重复类型信息、留下过时注释。
重构时:保留解释“为什么”、警告陷阱、引用外部上下文和记录非显而易见业务逻辑的现有注释;仅当注释明显错误、所描述代码被删除、或重构后不再需要该“为什么”时才移除;行为改变时更新注释。
格式:单行注释用句子式大小写;JSDoc/TSDoc 仅用于行为无法从签名明显看出的公开 API;TODO 应可执行并带工单号,如 // TODO(JIRA-567): ...。
语言差异:TypeScript/JavaScript 优先用类型而非 JSDoc 类型注解,用 @deprecated 标记废弃 API;Go 遵循 Effective Go,首句为函数名加动词;Python 用 docstring 并统一采用 Google 或 NumPy 格式。
审计清单:必要性、准确性、价值、时效性、可执行性。
限制:资料未提供具体安装方式、平台支持、收费信息与使用步骤。