charging-cabinet/tasks/review-tcp-refactor.md
2026-07-02 05:38:01 +08:00

92 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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