SuperAPI AI 工具集

code-review-facilitator

编程与开发

查看项目

更新于 10-16 10:39

技能介绍

Code Review Facilitator

code-review-facilitator 是一个面向微控制器项目的系统化代码审查技能,适用于 Arduino、ESP32、RP2040 等平台的开发场景。它的目标是在项目定稿前或开发过程中,提供结构化的代码反馈,聚焦最佳实践、内存安全与常见陷阱,并输出可执行的检查清单和具体改进建议。

用途

该技能用于对微控制器代码进行系统化审查,帮助开发者发现结构、内存、时序、硬件交互等方面的问题。典型触发场景包括:用户提出“审查我的代码”“这段代码可以吗”“我该如何改进”,在发布到 GitHub 之前,在完成某个功能之后,或者当代码“能跑但感觉不对”时。

主要能力

技能内置静态分析工具 scripts/analyze_code.py,可检测 15 类以上常见 Arduino 问题。审查按以下类别展开,每类都给出检查项、常见问题对照表与代码示例(反面/正面写法):

  1. 结构与组织:单一职责、文件组织、命名一致性、函数长度、头注释。
  2. 内存安全:避免在时间敏感代码中使用 String 类、缓冲区大小声明为常量、数组边界检查、loop() 中不做动态内存分配、常用字符串使用静态缓冲区。
  3. 魔数与常量:消除无解释数字、引脚分配放入 config.h、命名时间值、记录阈值。
  4. 错误处理:传感器初始化校验、网络连接超时、文件操作返回值检查、组件失败时的优雅降级、面向用户的错误反馈。
  5. 时序与延迟:主循环避免阻塞 delay()、处理 millis() 溢出(约 49 天后)、按键去抖、传感器与网络的速率限制。
  6. 硬件交互:setup() 中设置引脚模式、上下拉电阻、电压电平兼容(3.3V 与 5V)、电流限制、电源时序。
  7. 网络与通信:凭据不硬编码、连接重试逻辑、超时处理、尽可能使用安全连接、数据校验。
  8. 功耗效率:关闭未使用外设、使用合适的睡眠模式、不需要时关闭 WiFi、降低 LED 亮度(PWM)、控制传感器供电。

此外还提供:项目专属的审查检查清单生成模板(区分关键/重要/可选,并含 ESP32 平台专属项)、代码异味自动红旗模式表(含严重级别与建议动作,如 loop() 中的 String +、长 delay、无 yield() 的 while(1)、硬编码凭据、malloc/new 未配对、sprintf 而非 snprintf、ISR 全局变量缺少 volatile 等),以及审查回复模板(总体评级、关键问题、重要问题、建议、发现的良好实践、建议的后续步骤)。

使用方式

通过命令行调用内置脚本,常用命令如下:

分析单个文件:

uv run --no-project scripts/analyze_code.py sketch.ino

分析整个项目:

uv run --no-project scripts/analyze_code.py --dir /path/to/project

交互模式(粘贴代码):

uv run --no-project scripts/analyze_code.py --interactive

按严重级别过滤:

uv run --no-project scripts/analyze_code.py sketch.ino --severity warning

文档中还提供了内存调试、栈高水位标记、I2C 设备扫描等快速参考代码片段,以及配套的共享输出契约链接(../../docs/arduino-skill-contract.md)。

适用场景

适用于 Arduino/ESP32/RP2040 项目的代码质量复核,尤其是需要在发布前、功能完成后进行自查,或希望获得改进建议的开发者。

限制

该技能聚焦于微控制器项目的代码审查,未提供针对其他类型项目的说明。资料中未提及收费、价格、平台支持范围或效果保证等信息。