Add architecture review skill and readability guidance

This commit is contained in:
mujing
2026-09-18 15:19:25 +08:00
parent 9901bca1ec
commit 8d7aa3f2ec
5 changed files with 119 additions and 21 deletions
+11 -4
View File
@@ -41,17 +41,24 @@ Markdown 正文按内容排版:代码、命令及多行配置用带语言标
- 调查限于当前目标所需的代码、调用链和测试;只有涉及架构、数据或上线时才补读相应资料。外部查证须能解决具体未决问题,保留来源和必要版本,不为走流程搜索。
- 每轮共 1–3 个影响目标、验收或取舍的问题,不能用子问题变相扩充。可查事实不问用户,依赖未决答案的问题后置;有提问工具则使用,否则直接问。
- 简述证据与推荐理由,不用装饰性 emoji。纠正错误事实,区分假设与偏好;用户提出想法不等于确认方案。
- 优先复用现有能力,选择满足目标的最小方案。出现独立子目标或明显扩大的改造时,说明扩大点、建议分阶段,由用户选择;未确认前保持原范围。
- 设计遵循最小改动、单一职责和开闭原则,按实际变化点采用合适设计模式;隔离功能模块,通用架构能力不耦合具体业务规则。以降低扩展和审查复杂度为准,不为套模式新增无必要抽象或扩大重构。
- 最小改动不等于最少行数或继续堆叠旧逻辑。发现与本次目标相关、能减少重复或耦合的提取机会时,对比沿用与提取方案的收益、成本及影响文件,纳入当轮 1–3 问向用户确认,再决定是否纳入计划。
- 在满足下述可读性与模块边界的前提下,优先复用现有能力,控制改动范围。出现独立子目标或明显扩大的改造时,说明扩大点、建议分阶段,由用户选择;未确认前保持原范围。
- 目标、边界、关键取舍和验收明确后停止提问。
## 设计原则与逐项检查
- **Codex 可读性永远摆在第一位**:让业务入口容易定位,职责和接口契约清晰,调用与数据流容易追踪;不以最少行数、最少文件或最小 diff 代替可读性,也不为缩小改动继续堆叠旧逻辑。
- **功能模块化设计**:围绕业务职责划分模块,同一业务规则有明确归属,跨模块调用方只依赖公开接口,不感知内部实现,保持高内聚、低耦合。遵循单一职责和开闭原则,通用架构能力不绑定具体业务;区分合理协作与业务规则散落,不把整个业务链路强塞进一个模块。
- 接受模块化初期一定程度的过度工程化,包括为清晰边界增加接口、文件和结构;不因暂时只有一个实现就否定接口。新增结构应能解释其职责及可读性、隔离或演进收益,不为套模式增加无关抽象。
- 每个功能或优化点在确定方案前,局部检查相关模块及调用、依赖关系的 **Codex 可读性、循环依赖、复杂度、架构健康度**。健康度按上述模块职责与接口边界判断,循环依赖须有实际闭环依据,复杂度关注理解和修改成本;复用仍有效的证据,不机械重复全仓扫描,也不自动调用其他 skill。
- 发现与本次目标相关的优化空间时,先给出代码证据、沿用现状继续开发的影响、优化方向、收益、成本及范围,纳入当轮 1–3 问确认是否本次处理。已批准的优化不重复确认;未确认的优化不纳入实施范围,无问题时直接推进。
- 用户确认本次不优化后,在 `current.md``plan.md` 记录本次任务、适用模块、跳过的检查维度及用户确认依据。此任务不再检查或追问该“模块 × 维度”,其他组合继续;范围不明确时澄清,不自行扩大。新会话或压缩恢复须继承,新任务默认重置,本任务仅用户明确调整才恢复。跳过决定不写入 `CONTEXT.md`,也不免除必要代码阅读、功能正确性验证和已批准验收。
## 写入、审阅与交接
只维护 `<计划目录>/plan.md`,先写入并标为“待确认”;修订覆盖同一文件,只描述最新方案,不保留版本副本、旧方案或变更历史。正文自包含,可合并章节,但须有:
1. **定位**:项目及必要仓库标识、资产根目录与 CONTEXT 绝对路径、Git 基线(无提交则注明)、相关工作区变化、确认状态/依据。
2. **目标与决策**:原始目标、当前/目标行为、保留行为、不做事项;决策理由、业务/接口/架构变化或不变;相关系统约束快照及状态、已确认假设。
2. **目标与决策**:原始目标、当前/目标行为、保留行为、不做事项;决策理由、业务/接口/架构变化或不变;相关系统约束快照及状态、已确认假设;本次已批准的优化及按模块、维度跳过检查的决定与确认依据,供实施继承
3. **修改范围**:新增/修改/删除的文件、各自目标和原因、必要依赖顺序及对应验收。允许必要测试/配置配套文件并记录,其他范围变化重新确认。
4. **验证**:从原始目标推导正常、边界、异常及保留行为场景,明确预期结果和对应验收;列测试、运行目录/命令与必要环境。不能仅按变更代码列用例,预期行为须独立于实现,能发现偏离目标的结果。
5. **兼容与上线**:评估受影响的接口、数据、配置及新旧版本兼容性;明确是否需要迁移、特殊上线步骤或先后顺序,必要时说明回退限制。无特殊要求则注明,未知项列为待核实。