--- name: edge-code-review description: edge_collector 代码评审流程。用于用户要求 review、代码审查、提交前检查、质量审核时,按严重程度输出问题,覆盖 C++ 采集驱动、Drogon 接口、React 前端、脚本、打包部署、运行配置和测试缺口。 --- # edge_collector 代码评审 ## 输出规则 评审必须 findings first: 1. 先列问题,按严重程度排序。 2. 每条问题包含文件与行号。 3. 没有问题时明确说明,并列出剩余风险或测试缺口。 4. 摘要放在问题之后。 ## 评审维度 ### C++/采集端 - 是否破坏 `DriverRegistry` 注册名与协议配置一致性。 - 是否错误链接第三方库或跨架构库。 - 是否直接调用原生通信 API,绕过 `TcpTransport`/`UdpTransport`/`SerialTransport`。 - 是否遵循 `PointData::UpdateValue` 类型约束。 - 是否使用流式日志宏。 - 是否存在线程、生命周期、子进程回收、fd 泄漏风险。 ### 后端接口 - JSON 字段是否 `snake_case`。 - 是否处理非法 JSON。 - 是否复用 `ResponseUtil`。 - 错误响应是否稳定且不暴露底层敏感细节。 - 配置写入是否会覆盖运行态动态配置。 ### 前端 - 是否复用现有组件。 - 是否符合 CSS Modules 和暗色主题。 - 弹窗是否使用统一对话框,不用原生 alert/confirm/prompt。 - 交互失败是否给出清晰反馈。 - 移动/窄屏是否溢出或遮挡。 ### 脚本与部署 - 是否使用 `set -euo pipefail`。 - 路径是否从脚本位置推导。 - 是否误覆盖 `runtime/edge/config` 中动态配置。 - 同步部署是否遵循 `scripts/migrate_edge.sh`。 - 新增常驻服务是否独立,不耦合 edge 主服务。 ### 测试与验证 - 是否有定向单元测试或脚本验证。 - 协议改动是否更新协议文档。 - 前端改动是否能构建或说明未构建原因。 - 远程问题是否给出服务状态或接口验证。 ## 高风险信号 命中以下内容需重点审查: - `collector/CMakeLists.txt` - `package.sh`、`scripts/migrate_edge.sh` - `collector/src/driver/` - `configurator/config/*.json` - `runtime/`、`data/`、动态配置文件处理 - systemd 安装脚本 - 远程同步/重启逻辑