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