# 代码审查任务:TCP服务重构 ## 目标 审查TCP服务重构后的代码质量,确保符合架构设计。 ## 审查范围 ### API服务 `software/api-server/src/` 目录下所有文件: - `main.rs` — 启动入口 - `config.rs` — 配置管理 - `routes/` — 路由模块 - `workers/` — 后台协程 - `middleware/` — 中间件 ### 设备服务 `software/device-server/src/` 目录下所有文件: - `main.rs` — 启动入口 - `config.rs` — 配置管理 - `tcp/` — TCP服务模块 - `redis.rs` — Redis连接 ## 审查清单 ### 1. 架构符合性 - [ ] API服务和设备服务职责分离清晰 - [ ] 设备服务不处理业务逻辑(不存DB、不验证签名) - [ ] 服务间通信用Redis LIST,不用HTTP直接调用 - [ ] 节点注册/心跳/注销功能完整 ### 2. 异步处理 - [ ] 所有指令异步处理,msg_id匹配响应 - [ ] 后台协程处理Redis队列(report_worker/reply_worker) - [ ] 无阻塞操作(tokio::spawn合理使用) - [ ] 超时处理正确(60秒) ### 3. Redis使用 - [ ] 连接注册:`device:{imei}` → `{node_id, ip, port}`,TTL 180秒 - [ ] 消息队列:`device:reports` / `device:commands` / `device:replies` - [ ] BRPOP阻塞弹出,不浪费CPU - [ ] 连接池管理正确 ### 4. TCP服务 - [ ] LF分隔JSON消息 - [ ] 连接池用内存HashMap(快速) - [ ] 设备登录验证流程正确 - [ ] 断连清理逻辑 ### 5. 代码规范 - [ ] `cargo check` 零报错 - [ ] `cargo clippy` 零警告 - [ ] 单函数≤80行 - [ ] 命名语义化,完整注释 - [ ] 错误处理完善,无裸panic ### 6. 配置文件 - [ ] 使用config.toml(不用.env) - [ ] 配置项完整(server/database/redis/jwt等) - [ ] 敏感信息不硬编码 ## 输出格式 ```markdown # TCP服务重构审查报告 ## 总体评价 [评分1-10,简要评价] ## 架构符合性 [是否符合设计,问题列表] ## 代码质量 [编译/规范/错误处理] ## 严重问题 [必须修复的问题] ## 警告 [建议修复的问题] ## 优点 [值得肯定的设计] ``` ## 质量约束 1. 审查必须覆盖所有清单项目 2. 每个问题必须给出具体位置和修复建议 3. 审查报告用中文撰写 4. 必须实际读取代码文件