--- alwaysApply: true description: 强制项目注释规范(C# / TypeScript):新增或修改代码必须补全必要注释,便于维护与跨平台开发。 --- # 注释规范(必须遵守) ## 通用 - 新增或修改的代码必须包含足够注释,使“不了解该模块的人”也能理解其职责、边界与关键决策。 - 优先使用 **XML 文档注释**(`///`),而不是随意的行内注释。 - 不允许无意义注释(例如“初始化变量”“进入方法”)。注释必须解释“为什么/约束/边界/副作用”。 - 不允许出现“TODO/FIXME”但无上下文或无处理方案的注释。 ## C#(.NET / MAUI) - 所有 `public` / `protected` 的 **类、接口、方法、属性** 必须提供 XML 文档注释,至少包含: - `summary`:一句话说明用途 - 对关键参数/返回值:`param` / `returns` - 对异常或副作用:在 `summary` 中明确说明(例如会注册系统钩子/会启动后台服务) - 对 **跨平台逻辑**: - 禁止在同一文件内混写多个平台的大段 `#if` 实现;应优先使用 `partial`、接口与平台目录分离。 - 平台分离后的公共入口处必须说明“平台差异在哪里、默认实现是什么、为什么这么做”。 - 对 **异步/后台任务**: - 必须说明启动时机、错误处理策略、是否需要 UI 线程、以及是否可并发/可重入。 - 对 **安全/隐私**: - 禁止在日志或注释中输出密钥、Token、用户隐私信息。 ## TypeScript / Vue(前端) - 对导出的函数/类型必须有注释,解释用途与输入输出。 - 对“与后端/MAUI 交互”的协议字段(例如全局变量、事件名)必须注释说明来源与约束。