SuperAPI AI 工具集

code-review-skill

编程与开发

查看项目

更新于 10-30 16:19

技能介绍

用途

Code Review Skill 用于在审查代码、拉取请求(PR)、架构、安全性、性能、可维护性或特定语言/框架缺陷时提供系统化指导。其目标是将代码审查从单纯的“把关”转变为知识共享,通过建设性反馈、系统化分析和协作改进来提升团队整体代码质量。

主要能力

该技能围绕以下核心内容组织:

  • 审查心态:明确代码审查的目标(捕获缺陷与边界情况、确保可维护性、跨团队知识共享、执行编码规范、改进设计与架构、建设团队文化)与非目标(炫耀知识、纠结格式、不必要地阻塞进度、按个人偏好重写)。
  • 有效反馈:强调反馈应具体可操作、有教育意义而非评判、针对代码而非个人、平衡(也表扬好的工作)、有优先级。资料中给出了正反示例,例如将“This is wrong.”改为“This could cause a race condition when multiple users access simultaneously. Consider using a mutex here.”。
  • 审查范围:应审查逻辑正确性与边界情况、安全漏洞、性能影响、测试覆盖与质量、错误处理、文档与注释、API 设计与命名、架构契合度;不应手动审查代码格式、导入组织、lint 违规、简单拼写错误。
  • 四阶段审查流程:
    1. 上下文收集(2-3 分钟):阅读 PR 描述与关联 issue、检查 PR 大小(超过 400 行建议拆分)、查看 CI/CD 状态、理解业务需求、记录相关架构决策。对于大型 diff,可通过 git diff main...HEAD | python scripts/pr-analyzer.py 进行分诊。
    2. 高层审查(5-10 分钟):架构与设计(SOLID 原则、耦合/内聚、反模式)、性能评估(算法复杂度、N+1 查询、内存使用)、文件组织、测试策略。
    3. 逐行审查(10-20 分钟):逻辑与正确性(边界情况、差一错误、空值检查、竞态条件)、安全性(输入验证、注入风险、XSS、敏感数据)、性能(N+1 查询、不必要的循环、内存泄漏)、可维护性(清晰命名、单一职责、注释)、复用(搜索已有工具/辅助函数,检查相邻文件与共享模块)。
    4. 总结与决策(2-3 分钟):总结关键关注点、突出优点、做出明确决定(批准 / 评论 / 请求更改),复杂时提议结对。
  • 审查技巧:清单法、提问法(如“What happens if items is an empty array?”)、建议而非命令(如“Suggestion: async/await might make this more readable. What do you think?”)、严重程度分级。
  • 严重程度标签:🔴 [blocking] 合并前必须修复;🟡 [important] 应修复,有异议可讨论;🟢 [nit] 可选,不阻塞;💡 [suggestion] 可考虑的替代方案;📚 [learning] 教育性评论,无需操作;🎉 [praise] 表扬。其中 🔴 / 🟡 / 🟢 是贯穿所有指南的标准三级严重程度。
  • 语言/框架专项指南:覆盖 React(Hooks、useEffect、React 19 Actions、RSC、Suspense、TanStack Query v5)、Vue 3(Composition API、响应性系统、Props/Emits、Watchers、Composables)、Angular 17+(Signals、Standalone、RxJS、Zoneless、模板优化、测试、路由守卫、HttpInterceptor)、Rust(所有权/借用、Unsafe 审查、异步代码、取消安全性、错误处理)、TypeScript(类型安全、async/await、不可变性、测试、模块解析、TS 5.x)、Python(可变默认参数、异常处理、类属性)、Django/DRF(安全审查、N+1 查询、Serializer 反模式、ViewSet、异步视图)、FastAPI(Depends、Pydantic v2 validation、async correctness、sessions/N+1、auth vs authorization、test-driven verification)、Java(Java 17/21 新特性、Spring Boot 3、虚拟线程、Stream/Optional)、Java 8/Legacy(Java 8、Spring Boot 2、javax.*、Stream/Optional、java.time、CompletableFuture)、PHP(PHP 8.x 类型系统、PDO、安全审查、Composer、PHPUnit/PHPStan)、Ruby/Rails(Ruby 语义、Rails 8、Active Record、Active Job、安全、测试)、C#/.NET(C# 12 特性、异步编程、EF Core 性能、ASP.NET Core、LINQ)、Go(错误处理、goroutine/channel、context、接口设计)、Kotlin/Android(协程、Flow、Jetpack Compose、空安全、内存泄漏、架构模式)、Swift/SwiftUI(Optionals、Swift Concurrency、Sendable/actors、SwiftUI property wrappers、值类型与引用类型、API 设计)、NestJS(依赖注入、分层架构、DTO 验证、Guard/Interceptor、循环依赖)、Svelte/SvelteKit(Runes、Load 函数、Form Actions、Store 迁移、SSR/CSR 边界)、C(指针/缓冲区、内存安全、UB、安全编码、可移植性、测试)、C++(RAII、智能指针、C++20/23、constexpr、测试)、Zig(Allocators、error unions、defer/errdefer、comptime、C interop)、CSS/Less/Sass(变量规范、!important、性能优化、响应式、兼容性)、Qt(对象模型、信号/槽、Model/View、QML、Qt6 迁移、测试)。
  • 跨领域指南:架构审查(SOLID、反模式、耦合/内聚、依赖方向)、性能审查(Web Vitals、N+1、算法复杂度、内存泄漏、缓存)、安全审查(SQLi、XSS、CSRF、SSRF、IDOR、命令注入、跨语言示例)、通用质量(复用审计、参数蔓延、泄漏抽象、嵌套条件、字符串类型代码、TOCTOU、无操作更新、冗余状态)、常见缺陷清单、SQL 注入预防(参数化查询、ORM 安全、6 种语言、动态标识符、检测)、XSS 预防(输出编码、CSP、5 种框架、输入验证与编码、检测)、N+1 查询(预加载、批量获取、DataLoader、5 种语言、检测)、错误处理(快速失败、错误层次、7 种语言、反模式、日志)、异步与并发(Goroutines、async/await、actors、结构化并发、7 种语言)、审查最佳实践(沟通、审查者心态、给出反馈、严重程度标签)。
  • 附加资源:PR 审查评论模板、快速参考清单。

使用方式

资料未提供该技能的具体安装命令或调用方式。从内容看,它是一套供 AI 在代码审查场景中参照的指南集合,包含多个参考文件(如 React Guide、Security Review Guide 等),并提及可通过 git diff main...HEAD | python scripts/pr-analyzer.py 对大型 diff 进行分诊。具体如何加载或触发该技能,暂未提供。

适用场景

  • 审查拉取请求与代码变更
  • 为团队建立代码审查标准
  • 通过审查指导初级开发者
  • 进行架构审查
  • 创建审查清单与指南
  • 改进团队协作
  • 缩短代码审查周期
  • 维护代码质量标准

限制

资料未说明该技能的收费、价格、平台支持范围或效果保证。其内容为审查方法论与参考指南,不包含自动化执行审查的工具实现细节。部分语言/框架指南的具体内容未在资料中展开,仅列出主题。