SuperAPI AI 工具集

n-plus-one-detection

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:检测 GraphQL 解析器与 TypeScript 代码中的 N+1 查询反模式,即循环内顺序发起数据库或服务调用而非批量请求,从而造成性能下降。

主要能力:检查未使用 DataLoader 的 GraphQL 字段解析器(CRITICAL);循环中的顺序查询(CRITICAL);嵌套解析器链导致的指数级 N+1(HIGH);Context 中缺失 DataLoader(HIGH);DataLoader 使用反模式,如构造函数中创建导致跨请求共享缓存、批处理函数未按输入顺序返回(MEDIUM);循环中的 gRPC/REST 客户端调用(CRITICAL)。

使用方式:手动调用 /skill n-plus-one-detection,或由 quality-check 技能在检测到 TypeScript+GraphQL 项目时自动调用,也可经 safe-commit 间接触发。执行时先用 find 查找 .resolver.ts、.graphql.ts、*Resolver.ts 及 resolvers 目录下的 *.ts 文件,再读取解析器文件,分析字段解析器、循环结构、Context 完整性、DataLoader 实现质量、嵌套解析器链与外部服务调用,最后生成含文件行号、影响与修复示例的报告,并估算性能影响。

适用场景:GraphQL 服务与 TypeScript 后端代码审查,尤其是存在关联数据加载、嵌套解析器或外部服务调用的项目。

限制:资料未提供具体安装命令、收费方式、支持平台及版本要求;CRITICAL 问题按资料建议应阻止提交。