charging-cabinet/tasks/review-tcp-refactor.md

92 lines
2.2 KiB
Markdown
Raw Normal View History

# 代码审查任务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. 必须实际读取代码文件