fix(app): 修复 AppController 安全与查询问题

- 加强异常处理、类型安全和图片上传校验
- 优化设备相关查询,避免重复访问数据源
- 补充并记录并发测试与审查修复实施计划
This commit is contained in:
yuhaiming
2026-07-17 08:20:44 +08:00
parent 4a4aabf19e
commit 70e2356f22
82 changed files with 6070 additions and 583 deletions

41
overview.md Normal file
View File

@@ -0,0 +1,41 @@
# 代码审查标准与流程 - 工作概述
## 完成事项
为 water 项目制定了系统化的代码审查机制,包含完整的审查标准、流程规范和落地工具方案。
## 交付物
| 文件 | 内容 |
|------|------|
| `docs/code-review-standards.md` | 代码审查标准与流程主文档6 大章节) |
## 关键发现
通过对项目代码的全面审查,识别出以下系统性问题:
1. **零静态分析工具** — 项目未配置 Checkstyle/SpotBugs/SonarQube
2. **上帝类**`AppController` 940 行,职责过多
3. **异常吞噬** — 几乎每个方法用 `try-catch(Exception)` 包裹
4. **Raw Type 泛滥**`Map``List``HashMap` 大量无泛型
5. **N+1 查询** — 循环内逐个查询数据库/Redis
6. **线程安全**`SimpleDateFormat` 在多线程环境使用
7. **魔法值** — 状态字符串 `"0"`/`"1"` 硬编码
同时发现优秀实践MQTT 架构设计(策略模式+有界队列+ACK重试、分布式锁使用规范。
## 标准文档结构
1. **代码审查标准** — 10 个维度(架构/命名/安全/性能/异常/并发/测试/日志等三级问题分级Blocker/Suggestion/Nit
2. **代码审查流程** — 角色定义、PR 提交前自检、审查步骤、合并标准、冲突升级、紧急修复通道
3. **检查清单** — 8 个维度 40+ 检查项,可直接作为 PR 审查模板
4. **静态分析工具集成方案** — Checkstyle + SpotBugs + SonarQube 的 Maven 配置和 4 周实施路线
5. **典型问题案例** — 5 个 water 项目真实代码案例(含正反对比)
6. **推广落地建议** — 分阶段实施计划 + 度量指标
## 后续建议
- 第 1 周:团队宣贯,学习审查标准
- 第 2 周:集成 Checkstyle + SpotBugs修复 P0 问题
- 第 3-4 周PR 审查试运行
- 第 5 周起:正式执行 Blocker 零容忍