Skip to content

📄 补充注释规范:拒绝审计追溯标签、复述性与失效注释 - #1602

Merged
CodFrm merged 4 commits into
scriptscat:mainfrom
cyfung1031:docs/agent-comment-discipline
Jul 20, 2026
Merged

CodFrm merged 4 commits into
scriptscat:mainfrom
cyfung1031:docs/agent-comment-discipline

Conversation

@cyfung1031

@cyfung1031 cyfung1031 commented Jul 17, 2026 •

Copy link
Copy Markdown
Collaborator

Checklist / 检查清单

  • Fixes mentioned issues / 修复已提及的问题
  • reviewed by human / 通过人工检查
  • Changes tested / 已完成测试

背景

在 #1549 的一次多轮 AI 代码审计过程中,agent 把内部审计编号(如 finding 5)直接写进了正式代码注释与测试用例名称——审计对话结束后,这些编号脱离上下文,对未来读者毫无意义。同一批改动里还发现了另外三类相关问题:

  • 纯复述紧邻下一行代码的注释(例如 // 继续循环 后面跟着 continue;)。
  • 与所在函数/类已有 JSDoc 重复的说明。
  • 代码搬走或替换后未同步更新,继续描述错误位置逻辑的过时注释。

这些都已在 #1549 里手动清理,但 AGENTS.md / docs/develop.md 里此前没有任何规则能提醒 agent(或人类贡献者)在源头上避免它们。

本次改动

  • docs/develop.md:在 Language Conventions 之后新增 Comment Discipline 小节,给出四条可执行规则(拒绝审计追溯标签、不复述下一行、不重复 JSDoc、注释要跟代码一起搬家)及反例。
  • AGENTS.md:在 Engineering Principles 里增补一条对应的非协商条款,并链接到 docs/develop.md 的新小节,避免同一事实在两份文档里重复维护(遵循 docs/DOC-MAINTENANCE.md 的"不要重复,交叉引用"约定)。

纯文档改动,不涉及代码逻辑。

验证

  • pnpm exec prettier --check AGENTS.md docs/develop.md — 通过。
  • 手动检查两处改动之间无内容重复,docs/develop.md 拥有实质规则,AGENTS.md 仅做简述+链接。

🤖 Generated with Claude Code

cyfung1031 and others added 2 commits July 17, 2026 21:42
Codex/Claude 等 agent 在近期一次多轮代码审计中,把内部审计编号
(如 "finding 5")写进了正式代码注释与测试用例名称,审计对话结束后
这些编号对读者毫无意义;同一批改动里还出现了纯复述下一行代码的注释、
与所在函数/类 JSDoc 重复的说明,以及代码搬走后未同步更新、继续描述
错误位置逻辑的过时注释。

在 docs/develop.md 的 Language Conventions 之后新增 Comment
Discipline 小节,给出可执行的规则与反例;AGENTS.md 的 Engineering
Principles 增补一条对应的非协商条款并链接过去,避免同一事实在两份
文档里重复维护。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
上一版把 "issue scriptscat#123" 和 "finding 5" 这类一次性审计编号混为一谈,
一并禁止了。两者性质不同:审计编号脱离当次审计对话后无处可查,
而真实的、外部可解析的 issue/PR 编号(例如"这条回归测试是因为
scriptscat#1234 这个真实 bug 而加")恰恰是注释该有的内容——它让未来的维护者
能打开 issue 追溯完整背景,这是对理解/审查/维护有真实价值的信息,
不是噪音。

改用同一个判定标准:"这条引用脱离当次对话后,对读者是否还有意义":
外部 issue/PR 编号通常能通过,只在对话内部有意义的审计轮次编号
永远不能。无论哪种情况,注释本身仍必须先用文字说明要保护的不变量,
编号只是补充,不能替代这句说明。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@CodFrm

CodFrm commented Jul 17, 2026

Copy link
Copy Markdown
Member

这个感觉属于develop的?agents.md 里面尽量只放高优先级的

@cyfung1031

Copy link
Copy Markdown
Collaborator Author

这个感觉属于develop的?agents.md 里面尽量只放高优先级的

詳細放了在develop.md
在agents.md 加了一行講comments 然後連過去develop.md

這應該沒什麼問題吧

如同字面所言,agent 的comments 很喜歡寫what, 但我們需要它寫的是why

@cyfung1031

Copy link
Copy Markdown
Collaborator Author

我看看能不能簡化一下agents 裡的寫法

@CodFrm

CodFrm commented Jul 17, 2026 •

Copy link
Copy Markdown
Member

这个感觉属于develop的?agents.md 里面尽量只放高优先级的

詳細放了在develop.md

在agents.md 加了一行講comments 然後連過去develop.md

這應該沒什麼問題吧

如同字面所言,agent 的comments 很喜歡寫what, 但我們需要它寫的是why

哦哦 我看岔了 没问题

AGENTS.md 的规则条目内容不变但压缩表达,减少每次加载 AGENTS.md 都要
承担的固定 token 成本;docs/develop.md 对应小节同步精简,并统一列表
标点与项目符号风格(原有 * 与空行分隔与文件其余列表风格不一致)。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@cyfung1031

Copy link
Copy Markdown
Collaborator Author

我看看能不能簡化一下agents 裡的寫法

done: 071c337

@cyfung1031
cyfung1031 marked this pull request as draft July 18, 2026 02:57
@cyfung1031

Copy link
Copy Markdown
Collaborator Author

#1610 #1611 优先

@cyfung1031
cyfung1031 marked this pull request as ready for review July 19, 2026 14:04
@cyfung1031 cyfung1031 added documentation Improvements or additions to documentation P1 🔥 重要但是不紧急的内容 labels Jul 19, 2026
@cyfung1031 cyfung1031 added this to the 2026七月 Milestone milestone Jul 19, 2026
@CodFrm
CodFrm merged commit 31fe2be into scriptscat:main Jul 20, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation P1 🔥 重要但是不紧急的内容

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants