Comment Guidelines 是一套面向代码注释的规范技能,来源于 ahonn/dotfiles。它的定位是:在编写或修改代码时自动应用一组注释原则,让注释保持精简、有价值,而不是复述代码表面行为。
用途 该技能用于统一代码注释的取舍标准。它强调“代码优先自解释”,即通过清晰的命名和结构表达意图,注释只作为最后手段。注释应解释意图与推理(WHY),而不是机械描述代码在做什么(WHAT),从而降低阅读者的认知负担,并让不明显的信息显式化。
主要能力 根据资料,该技能包含以下核心原则:
- 自解释代码优先:使用清晰的命名和结构;注释是最后手段。
- WHY 优先于 WHAT:注释解释意图和推理,而非机制。
- 降低认知负担:让非显而易见的知识变得明确。
- 零冗余:绝不重复代码已经表达的内容。
何时添加注释 资料明确列出应当注释的情况:
- 设计决策与权衡
- 非显而易见的行为或边界情况
- 接口契约(公共 API、函数签名)
- 代码中不明显的重要上下文
- 陷阱与微妙行为
- 跨模块依赖
不应注释的情况:
- 代码字面含义(自明内容)
- 命名良好的变量或函数
- 标准模式与惯用法
- 代码中可见的实现细节
使用方式 该技能不需要显式调用。资料说明 Claude 应当:
- 在编辑代码时应用这些原则
- 主动清理遇到的冗余注释
- 仅在能降低认知负担的地方添加策略性注释
在修改代码时的应用规则:
- 删除任何只是复述代码行为的注释
- 保留解释“为什么这样做”的注释
- 仅为非显而易见的行为或设计决策添加注释
- 如果代码变更导致现有注释过时,更新这些注释
- 绝不为了填充篇幅或显得周全而添加注释
示例 资料给出正反示例: 反例(复述显而易见的内容): // Set user name to the input value user.name = input.value;
正例(解释非显而易见的行为): // Normalize to lowercase for case-insensitive matching in search user.searchKey = user.name.toLowerCase();
反例(记录自明内容): // Loop through all items for (const item of items) { ... }
正例(解释为何采用该方式): // Process in reverse to allow safe removal during iteration for (let i = items.length - 1; i >= 0; i--) { ... }
适用场景 该技能适用于日常编码、代码修改、重构以及代码审查等需要处理注释的场景,尤其适合希望减少冗余注释、提升代码可读性的团队或个人。
限制 资料未提供该技能的具体安装命令、支持的平台、收费方式或价格信息,这些内容暂未提供。其效果取决于使用者是否遵循上述原则,资料未给出量化效果或性能数据。