SuperAPI AI 工具集

architecture-review

编程与开发

查看项目

更新于 10-13 15:27

技能介绍

用途

architecture-review 是一个用于代码评审的技能,定位为 staff 级工程师视角的架构评审。当被评审的代码涉及架构决策、新模块、数据流变更或系统设计时使用,典型触发场景包括 PR 引入新服务、改动接口或改变数据流。它的目标不是重复单元测试和 linter 能发现的问题,而是捕捉它们无法覆盖的设计问题:错误的抽象、泄漏的边界、遗漏的边界情况以及扩展性陷阱。

主要能力

该技能提供一套结构化的评审流程:

  1. 理解意图:在评审代码前先理解要解决的问题,阅读 PR 描述、关联 issue 或规格,区分核心需求与附带复杂性,并追问“这是否是解决实际问题的最简方案”。

  2. 数据流分析:从入口到出口追踪数据,包括输入边界(数据从哪里进入、是否在边缘校验)、转换链(数据经过多少层,每一跳都是潜在故障点)、存储(持久化了什么、schema 是否向前兼容)、输出边界(什么离开系统、是否经过净化)。数据到达目的地前被转换超过 3 次的情况会被标记。

  3. 依赖方向检查:依赖应指向内部(domain ← application ← infrastructure);领域逻辑从基础设施导入、模块间循环依赖、被所有模块导入的“god module”都会被标记。

  4. 错误与边界情况审计:针对每条新代码路径检查超时、部分失败(如数据库写入成功但缓存更新失败)、并发访问(竞态条件)、下游服务不可用以及规模扩大 10 倍时的表现。

  5. API 契约评审:对新接口或变更接口检查是否向后兼容(若不兼容是否有迁移路径)、错误响应是否与既有模式一致、该幂等的地方是否幂等、是否存在限流或滥用向量。

  6. 发现输出格式:每条架构发现以 [ARCH-NNN] 标题 呈现,并标注 Severity(Critical / High / Medium / Advisory)、Category(Data Flow / Dependency / Concurrency / API Contract / Scalability)、问题描述(错在哪里、为何重要)以及建议(具体的替代方案)。

需要标记的反模式

  • 分布式单体:必须一起部署的微服务
  • Chatty 接口:服务之间的 N+1 调用
  • 共享可变状态:被多线程/多进程访问的全局状态
  • 过早抽象:为单一用例构建的通用框架
  • 缺少熔断:外部调用没有超时/重试/降级
  • Schema 耦合:多个服务读取同一张数据库表

使用方式

资料中未提供具体的安装命令、调用方式或集成步骤,暂未提供。

适用场景

适用于需要对涉及架构层面变更的代码进行深度评审的场合,尤其是引入新服务、改变数据流、新增或修改 API 契约、涉及并发与扩展性考量的 PR。

限制

资料未说明该技能支持的平台、依赖的模型或运行环境,暂未提供。它聚焦于架构层面的设计问题,不替代单元测试和 linter 的常规检查。