用途
Architecture Lens 用于审查代码级结构,依据 Richards 和 Ford 的《软件架构基础》(Fundamentals of Software Architecture)与《实用模型驱动企业架构》(Practical Model-Driven Enterprise Architecture),通过耦合、放置、内聚、依赖方向和范围来判断代码变更的难易程度。它适用于决定代码应归属何处,以及是否应拆分、合并或重构。
该技能明确区分使用场景:宏观架构用于系统风格,领域驱动设计用于领域建模,完整审查用于正确性或安全性审查。
主要能力
技能提供多个审查视角,按问题类型选择加载:
- 视角 1:决策审查(references/decision-review.md)——用于未定的方案、边界、库、同步/异步或构建/复用选择。
- 视角 2:耦合审查(references/coupling-review.md)——用于纠缠代码,或决定拆分、提取、合并。
- 视角 3–6:结构审查(references/structural-review.md)——用于分层位置、内聚、依赖方向或变更/设计中的范围。
仅在问题需要时组合方法。审查受影响的代码及其契约;局部边界审查不需要映射整个仓库。复用已有的设计决策和证据。
技能使用 Connascence 按强度 × 局部性 × 程度对耦合进行排序。强耦合在局部可以接受;远距离动态耦合值得关注。保持最小的一致形态:移除推测性范围,而不引入超出变更所需的间接层。
使用方式
根据决策或审查类型选择对应视角并加载相应方法文件。对于独立审查,按所选视角分组呈现发现,包含 file:line、违反的规则和具体修复建议。对于决策,说明所选形态、实际取舍和下一步;小决策可用两行。干净的视角返回干净结果,不编造发现或反论点来填充类别。
在设计门禁(design-gate)下,返回 verdict(proceed | revise)、blocking_findings、advisory_findings 和 required_changes。承重问题可要求修订;外观偏好不能。
ADR 使用条件:仅当难以逆转、无上下文时令人意外且存在真实取舍三项同时满足时,使用 references/adr-template.md 记录;否则将决策保留在现有任务或审查笔记中。
适用场景
- 决定代码应放在何处,或是否应拆分、合并、重构。
- 处理未定的方案、边界、库、同步/异步或构建/复用选择。
- 审查分层位置、内聚、依赖方向或变更范围。
- 需要可执行的检查时,参考 references/verification-menu.md。
- 需要强制执行持久架构规则时,参考 references/fitness-functions.md。
- 需要迁移、可用性边界、未经验证的技术或请求的图表时,参考 references/risk-and-diagrams.md。
限制
该技能仅报告发现。用户请求的范围修复才授权相应编辑;设计门禁或其他只读审查调用仅返回发现,并覆盖独立的编辑路径。所选方法链接到其详细分类和检查清单,仅在决策需要时加载。不编造发现或反论点。