diff --git a/AGENTS.md b/AGENTS.md index b0e781aa8..faaba5623 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,11 @@ # 项目通用开发规则 +- 2026-10-13最新授权(P98):P97登录链整理完成后,允许按完整评审进行KV专属namespace、类/文件名及KV引入警告的整理,取代此前命名后置优先级;只做等价名称/引用变化及已核无副作用的警告处理。保留Dev独立入口、公共PF/KV存档合同及原业务/异常语义,不为清零警告去掉async或新增伪await,不扩改无关代码。 + +- 2026-10-13后续优先级:先核迁移新增文件和类的实际必要性,确认无消费者则删除;职责可由现有实现等价承接时,先完整评审再合并,减少冗余文件和层次。不能只用排版整理代替结构核销,也不能把减少文件数冒称减少类。保留原业务、资源生命周期和用户明确要求的服务入口;namespace与命名统一仍后置。 + +- 2026-10-13当前优先级:先整理本次迁移代码,使实现简洁、准确、易读;`Core/KV` 移位后的 namespace 与类/文件命名统一列为后置事项,当前不穿插改名。先处理重复闲置实现和难读的紧凑写法,保持原业务、数据、同步/异步、异常和调用顺序;不以可读性为由增加层次或重设流程。修改前完整评审,保留用户编辑。 + - `CodexOutput/` 仅用于本地开发文档、评审及验证产物,不得纳入 Git 提交/推送、服务器上传、部署或发布包;不得使用 `git add -f` 强制加入。已被 Git 跟踪的内容仅取消跟踪,保留本地文件及现有修改。 - 2026-10-10用户要求开发后读取并执行:[PlayFab到KV-存量核查纠偏与开发后检查执行要求](CodexOutput/PlayFab到KV-存量核查纠偏与开发后检查执行要求-2026-10-10.md)。开发会话完成当前批次后必须读取本文,将存量核查纳入已有唯一TODO;后续每批开发及独立AI复核完成后执行其中第六部分的受影响范围自检,本轮核查纠偏完成后再做最终汇总检查,并在既有实施日志记录范围、证据和未闭合项。不能仅记录“已读”或用AI报告代替开发端检查;已有匹配hash的评审复用,不每批重复全工程扫描。发现超出已审边界的问题先补完整方案评审,不扩大业务重构或删除许可。检查通过且仍有已授权工作时继续,不停等用户催促。 @@ -26,8 +32,11 @@ ## C# 代码格式 +- 2026-10-13范围约束:显式访问限定符和代码格式规则只落实到本次KV迁移新增的代码及迁移确需修改的具体成员。与KV引入无关的原有类、字段、方法不因缺少private/public/internal/protected而修改;同一文件含KV接线也不构成整文件补齐或重排许可。已有合法且有效的访问范围保持,不为统一风格扩大差异。 + - `[Inject]` 必须单独占一行,被标注的字段、属性或方法声明从下一行开始;不得写成 `[Inject] public ...`。新增或修改注入声明时遵守此规则,保留已有的换行格式;不因此批量重排无关代码。 - 字段必须显式声明访问修饰符,类内部使用的字段优先写 `private`,不要依赖省略修饰符时的默认可见性。例如写 `private readonly ...`、`private static ...`、`private ...`。此规则指访问级别,不要求给变量名增加前缀或改名。 +- 2026-10-13补充:类实现中的方法、构造器及嵌套类型也必须显式声明访问修饰符,和字段一样按实际调用者选择 `private`、`internal`、`protected` 或 `public`;省略修饰符的既有私有成员补 `private` 时保持原访问范围。局部变量、参数、局部函数、静态构造器、析构器及语言不允许访问修饰符的显式接口实现不套用;不因此扩大无关代码重排。 - 按实际消费者选择最小必要访问级别:跨类调用、依赖注入、接口或继承确需 `internal`、`protected`、`public` 时保留对应权限,不得为了统一为 `private` 而破坏现有调用。构造器也须核对创建位置;局部变量、参数及不允许访问修饰符的显式接口实现不套用字段规则。不批量调整无关代码。 - `if`、`else if`、`else` 分支必须使用大括号,即使只有一条语句也不省略;条件、分支语句不能挤在同一行,不写 `if (...) return ...;` 或 `{ statement; }`。 - 使用大括号的代码块采用换行格式:左、右大括号各自独立成行,块内语句逐行书写并缩进。方法、构造器、属性访问器及控制流块均保持清晰展开,不用一行多个语句压缩代码;不改变条件、执行顺序或原业务行为。