- 新增 project-health.md — 项目评分/技术债全景/风险矩阵/改进路线图 - 更新 index.md — 代码量分布表/新发现技术债统计/新增症状条目 - 更新 architecture.md — Feature Flag 未实现状态/超大文件发现 - 更新 frontend.md — 状态管理不统一/SSE 端口/测试缺失等 11 项问题 - 更新 erp-diary.md — 代码量分布参考/班级码硬编码问题 基于 4 代理并行深度分析: 后端 Rust 51,459 行 + 前端 Flutter 18,398 行
127 lines
5.1 KiB
Markdown
127 lines
5.1 KiB
Markdown
---
|
||
title: 项目健康度评估
|
||
updated: 2026-06-01
|
||
status: active
|
||
tags: [health, tech-debt, risk, improvement]
|
||
---
|
||
|
||
# 项目健康度评估
|
||
|
||
> 从 [[index]] 导航。本文档基于 2026-06-01 全量代码分析生成。
|
||
|
||
## 总体评分
|
||
|
||
| 维度 | 评分 | 说明 |
|
||
|------|------|------|
|
||
| 架构设计 | ⭐⭐⭐⭐⭐ | 模块化 ErpModule trait、分层清晰、基座复用 |
|
||
| 代码质量 | ⭐⭐⭐⭐ | Rust 错误处理规范、Flutter 注释质量高、分层一致 |
|
||
| 测试覆盖 | ⭐⭐ | 后端 ~50 测试尚可、前端 **0 测试** 是最大短板 |
|
||
| 安全合规 | ⭐⭐⭐⭐⭐ | PIPL 合规框架完整、PII 加密、RLS 多租户隔离 |
|
||
| 文档维护 | ⭐⭐⭐⭐⭐ | wiki 6 页 + 技术债看板 + CLAUDE.md,同步度高 |
|
||
| DevOps | ⭐⭐ | Docker 配置完善但未验证、CI/CD 缺失、无自动化 |
|
||
| 功能完整度 | ⭐⭐⭐⭐ | 后端完整闭环、前端核心模块 85%+、班级/家长模块待完善 |
|
||
|
||
## 技术债全景
|
||
|
||
### 已记录(10 条)
|
||
|
||
| 编号 | 债务 | 优先级 | 预估 |
|
||
|------|------|--------|------|
|
||
| TD-1 | authorId 硬编码 'local' | P0 | 0.5 天 |
|
||
| TD-3 | Docker 部署未验证 | P0 | 0.5 天 |
|
||
| TD-7 | Settings 持久化未实现 | P1 | 0.5 天 |
|
||
| TD-8 | 编辑器不加载已有日记 | P1 | 1 天 |
|
||
| TD-4 | toImage() 同步阻塞主线程 | P1 | 1 天 |
|
||
| TD-2 | CI/CD 未建立 | P2 | 1 天 |
|
||
| TD-5 | 前端测试为零 | P2 | 3 天 |
|
||
| TD-6 | 画布尺寸变化缓存过渡 | P2 | 1 天 |
|
||
| TD-9 | Isar FTS 搜索未实现 | P2 | 1 天 |
|
||
| TD-10 | SyncEngine 蜂窝数据未支持 | P3 | 0.5 天 |
|
||
|
||
### 新发现(9 条)
|
||
|
||
| 编号 | 债务 | 优先级 | 预估 | 位置 |
|
||
|------|------|--------|------|------|
|
||
| NEW-1 | 前端测试缺失(TD-5 补充:0 回归保护) | **Critical** | 3 天 | `app/test/` |
|
||
| NEW-2 | SSE 端口不一致 (8080 vs 3000) | **Critical** | 0.5 天 | `sse_notification_service.dart:42` |
|
||
| NEW-3 | Dockerfile 不存在(生产部署引用) | **High** | 1 天 | `docker-compose.production.yml` |
|
||
| NEW-4 | API base URL 硬编码 localhost | **High** | 0.5 天 | `api_client.dart:29` |
|
||
| NEW-5 | 班级码后端验证未实现 | **High** | 1 天 | `auth_bloc.dart:141` TODO |
|
||
| NEW-6 | Prometheus exporters 未定义 | **Medium** | 0.5 天 | `prometheus.yml` 引用 |
|
||
| NEW-7 | 25 处通用 catch(e) 静默吞异常 | **Medium** | 1 天 | 各 BLoC 文件 |
|
||
| NEW-8 | Feature Flag 未实现(计划中有但未落地) | **Medium** | 2 天 | `erp-server/Cargo.toml` |
|
||
| NEW-9 | 状态管理不统一(BLoC vs ChangeNotifier) | **Low** | 2 天 | 5 个功能模块 |
|
||
|
||
## 前端模块完成度矩阵
|
||
|
||
| 模块 | 完成度 | 关键缺失 |
|
||
|------|--------|---------|
|
||
| 手写引擎 | **95%** | toImage 异步化 |
|
||
| 编辑器 | **95%** | 文字输入/图片上传为占位 |
|
||
| 认证 | **85%** | 班级码后端验证 TODO |
|
||
| 首页 | **90%** | — |
|
||
| 设计系统 | **90%** | `core/utils/` 空目录 |
|
||
| 设置 | **85%** | 持久化未实现 |
|
||
| 日历 | **85%** | 周视图/时间线未实现 |
|
||
| 数据层 | **85%** | SyncEngine 缺少网络监听 |
|
||
| 班级 | **80%** | — |
|
||
| 心情统计 | **80%** | — |
|
||
| 个人中心 | **80%** | — |
|
||
| 贴纸 | **70%** | 应用贴纸为 SnackBar 占位 |
|
||
| 模板 | **65%** | 应用模板为 SnackBar 占位 |
|
||
| 成就 | **65%** | 视图页面空壳 |
|
||
| 教师 | **60%** | 班级码硬编码 'a1b2c3' |
|
||
| 家长 | **40%** | 全部为 SnackBar 占位 |
|
||
| 搜索 | **30%** | Isar FTS 未集成 |
|
||
|
||
## 后端 Crate 依赖图
|
||
|
||
```
|
||
erp-core ← erp-auth ← erp-server
|
||
← erp-config ← erp-server
|
||
← erp-message ← erp-server
|
||
← erp-workflow ← erp-server
|
||
← erp-plugin ← erp-server
|
||
← erp-diary ← erp-server
|
||
```
|
||
|
||
**依赖健康度**: 无循环依赖、无跨业务 crate 直接依赖、通过 EventBus 模块间通信 ✅
|
||
|
||
## 风险矩阵
|
||
|
||
| 风险 | 概率 | 影响 | 缓解 |
|
||
|------|------|------|------|
|
||
| 前端无测试导致回归 | 高 | 高 | TD-5: 建立核心 BLoC/Repository 单元测试 |
|
||
| Feature Flag 未实现限制扩展 | 中 | 中 | NEW-8: 补充 Cargo features 配置 |
|
||
| Docker 生产部署无法构建 | 高 | 高 | NEW-3: 创建 Dockerfile + 验证 |
|
||
| SSE 端口不匹配致推送失败 | 确定 | 中 | NEW-2: 统一为 3000 端口 |
|
||
| 手写 toImage 卡 UI | 中 | 中 | TD-4: compute() isolate 异步光栅化 |
|
||
| 大文件超 800 行限制 | 中 | 低 | erp-plugin manifest.rs(1809) + data_service.rs(1907) 需拆分 |
|
||
|
||
## 改进建议路线图
|
||
|
||
### 第一阶段(1-2 天)— 紧急修复
|
||
|
||
1. **NEW-2**: SSE 端口统一为 3000
|
||
2. **TD-1**: authorId 接入 AuthBloc
|
||
3. **NEW-4**: API base URL 环境配置化
|
||
|
||
### 第二阶段(3-5 天)— 基础设施
|
||
|
||
4. **TD-2**: CI/CD 基础流水线
|
||
5. **TD-3 + NEW-3**: Docker 部署验证 + Dockerfile 创建
|
||
6. **TD-5**: 核心模块单元测试(AuthBloc, EditorBloc, JournalRepository)
|
||
|
||
### 第三阶段(持续)— 质量提升
|
||
|
||
7. **NEW-7**: 通用 catch(e) → 类型化异常处理
|
||
8. **NEW-8**: Feature Flag 配置落地
|
||
9. **TD-4**: toImage() 异步光栅化
|
||
10. **TD-8**: 编辑器加载已有日记
|
||
|
||
## 变更记录
|
||
|
||
| 日期 | 变更 |
|
||
|------|------|
|
||
| 2026-06-01 | 初始创建 — 基于 4 代理并行分析结果 |
|