# UI 代码结构重构计划
> 基于 2026-06-16 架构审核,整体评分 7.2/10
> 目标:补齐工程细节短板,达到企业级标准(8.5+)
---
## 审核评分总览
| 维度 | 评分 | 状态 |
|------|------|------|
| 目录结构分层 | 8/10 | 良好 |
| 组件设计 | 6.5/10 | 需重构 |
| 复用与抽象 | 6/10 | 需重构 |
| 样式组织 | 8.5/10 | 优秀 |
| 可维护性 | 7/10 | 一般 |
| 性能相关 | 7/10 | 一般 |
| 测试与质量保障 | 5.5/10 | 需重构 |
| 安全性 | 7.5/10 | 良好 |
---
## P0 — 紧急(阻塞级质量问题)
### P0-1 拆分巨型组件
**问题:** exam-form.tsx(1623 行)、textbook-reader.tsx(744 行)严重违反单一职责,难以维护和测试。
#### exam-form.tsx 拆分方案
```
src/modules/exams/components/
exam-form.tsx ← 保留为容器组件(~200 行),组合子组件
exam-basic-info-form.tsx ← 考试基本信息(名称、科目、时间)
exam-ai-generator.tsx ← AI 生成试卷功能
exam-structure-editor.tsx ← 试卷结构编辑
exam-question-selector.tsx ← 题目选择器
exam-preview-panel.tsx ← 试卷预览面板
exam-form-actions.tsx ← 表单操作按钮组
```
#### textbook-reader.tsx 拆分方案
```
src/modules/textbooks/components/
textbook-reader.tsx ← 保留为容器组件(~150 行)
textbook-content-panel.tsx ← 内容阅读面板(Markdown 渲染)
knowledge-point-list.tsx ← 知识点列表
knowledge-graph.tsx ← 知识图谱可视化
knowledge-point-dialogs.tsx ← 创建/编辑知识点 Dialog
textbook-editor-panel.tsx ← 编辑模式面板
use-text-selection.ts ← 文本选择逻辑 Hook
use-knowledge-point-actions.ts ← 知识点操作逻辑 Hook
```
**验收标准:**
- 单文件不超过 300 行
- 每个子组件职责单一,可独立测试
- 容器组件仅负责组合和状态分发
---
### P0-2 修复无障碍(a11y)缺陷
**问题:** 全项目仅 7 处 `aria-label`,但 180 处 `onClick`;存在 `
` 非语义化标签。
#### 修复清单
1. **图标按钮补 aria-label**
- 搜索所有 `
` 为语义化标签**
- textbook-reader.tsx:434 — 知识点卡片 → `