# 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 — 知识点卡片 → `