5.0 KiB
5.0 KiB
全面代码审查任务
目标
全面审查充电柜PMS项目的所有代码,确保质量、安全、规范。
审查范围
后端 (Rust + Axum)
software/server/src/ 目录下所有文件:
main.rs— 启动入口config.rs— 配置管理error.rs— 错误处理db/mod.rs— 数据库连接db/migrate.rs— 数据库迁移redis.rs— Redis连接middleware/auth.rs— JWT认证+RBAC权限routes/— 所有路由模块auth.rs— 登录/登出organizations.rs— 组织CRUDprojects.rs— 项目CRUDcabinets.rs— 设备CRUDcabinet_tree.rs— 树状结构users.rs— 用户管理roles.rs— 角色管理users_perm.rs— 用户权限charge_records.rs— 充电记录device_logs.rs— 设备日志energy_stats.rs— 能耗统计downloads.rs— 下载中心operation_logs.rs— 操作日志
tcp/— TCP通讯服务server.rs— TCP监听connection.rs— 连接管理protocol.rs— 协议解析handler.rs— 消息处理commands.rs— 指令下发
前端 (React + TypeScript)
software/web/src/ 目录下所有文件:
App.tsx— 路由配置main.tsx— 入口layouts/AdminLayout.tsx— 后台布局api/— API封装stores/auth.ts— 认证状态utils/permission.ts— 权限工具components/Permission.tsx— 权限组件pages/— 所有页面Login.tsx— 登录页Dashboard.tsx— 首页devices/— 设备管理charge-records/— 充电记录device-logs/— 设备日志energy/— 能耗管理settings/— 系统设置
h5/— H5用户端pages/— H5页面components.tsx— 移动端组件layout.tsx— H5布局
审查清单
1. 编译与类型检查
cargo check零报错零警告cargo clippy零报错零警告tsc --noEmit零报错零警告vite build成功
2. 代码规范
- 单函数≤80行
- 命名语义化,无无意义缩写
- 完整注释(入参、返回值、复杂逻辑)
- 常量抽离,无硬编码散落
- 无废弃API使用
3. 错误处理
- 所有外部IO/网络请求有异常捕获
- 无裸
panic!或unwrap() - 分支逻辑全覆盖,无遗漏兜底
- 错误信息有意义,便于调试
4. Rust专项
- 内存安全,无冗余拷贝
- 无
unsafe块(除非有合理理由) - 所有权管理合理
- 异步代码无阻塞操作
5. React专项
- 函数式组件+Hooks,无Class组件
- 状态分层管理(接口/渲染/业务逻辑)
- 无内存泄漏(useEffect清理)
- 无
as any类型断言
6. 安全
- SQL注入防护(全部参数化查询)
- 密码哈希(argon2/bcrypt)
- JWT密钥安全(非默认值)
- 输入参数校验
- 权限校验覆盖所有API接口
- 数据隔离(组织/项目/设备级)
- 敏感参数脱敏(日志中不打印密码/token)
7. 业务逻辑
- TCP协议解析正确(签名验证、粘包处理、超时清理)
- 权限模型正确(总管理员/企业管理员/普通用户)
- 异步导出流程完整(任务创建→后台处理→下载)
- 前端权限组件正确隐藏/显示按钮
8. 架构
- 接口层、业务逻辑层、数据模型层分离
- 无循环依赖
- 模块职责清晰
- 路由注册完整,无遗漏
9. 性能
- 数据库查询有索引
- 无N+1查询问题
- 前端列表有分页
- 大数据量导出异步处理
10. 可维护性
- 文件长度合理(≤300行)
- 组件拆分合理
- 代码重复度低
- 配置外部化(环境变量)
输出格式
# 全面代码审查报告
## 总体评价
[整体质量评分 1-10分,简要评价]
## 统计
- 后端文件数:X
- 前端文件数:X
- 总代码行数:X
- 问题总数:X(严重X / 警告X / 建议X)
## 严重问题( 必须修复)
### 问题1:[标题]
- **位置**:`文件路径:行号`
- **描述**:[问题描述]
- **风险**:[可能的影响]
- **建议**:[修复方案]
## 警告(🟡 建议修复)
### 警告1:[标题]
- **位置**:`文件路径:行号`
- **描述**:[问题描述]
- **建议**:[改进方案]
## 优点
- [值得肯定的设计/实现]
## 总结
[总体结论和优先修复建议]
审查工具
# 后端静态检查
cd software/server && cargo check && cargo clippy
# 前端类型检查
cd software/web && tsc --noEmit
# 前端构建测试
cd software/web && vite build
# 代码行数统计
find src -name "*.rs" -exec wc -l {} + | sort -n
find src -name "*.tsx" -exec wc -l {} + | sort -n
质量约束
- 审查必须覆盖所有清单项目
- 每个问题必须给出具体位置和修复建议
- 严重问题必须标注风险等级
- 审查报告用中文撰写
- 必须实际读取代码文件,不能仅凭文件名判断