hookehuyr

docs: 添加经验教训总结并优化项目文档

新增文档:
- docs/lessons-learned.md - Taro 项目开发经验、最佳实践和常见陷阱总结
  - 组件抽取与复用("第 3 次出现原则")
  - NutUI 组件使用陷阱(textarea、IconFont)
  - 静态资源加载问题(SVG 图标)
  - 样式处理策略(TailwindCSS vs Less)
  - 性能优化(shallowRef + markRaw)
  - 代码质量规范(JSDoc、命名规范)
  - 架构设计(统一的列表点击、文件操作)

- docs/changes-summary.md - 文档优化变更说明

优化文档:
- CLAUDE.md
  - 添加快速参考表格,常见问题一目了然
  - 重新组织核心架构章节,结构更清晰
  - 添加样式处理策略和响应式优化章节
  - 添加对经验教训文档的交叉引用

- README.md
  - 添加项目文档索引和核心特性说明
  - 新增常见问题快速参考表格
  - 精简项目结构,移除过时内容
  - 优化开发规范说明

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +# 文档优化总结
2 +
3 +## 📝 变更说明
4 +
5 +本次优化整理了项目文档,创建了经验教训总结文档,并优化了 CLAUDE.md 和 README.md。
6 +
7 +## ✨ 新增文档
8 +
9 +### [docs/lessons-learned.md](docs/lessons-learned.md)
10 +
11 +**完整的 Taro + Vue 3 项目开发经验教训总结**,包含:
12 +
13 +#### 核心章节
14 +1. **组件抽取与复用**
15 + - "第 3 次出现原则"(Rule of Three)
16 + - 何时抽取组件和 Composables
17 + - 实际案例分析(useSectionList、useFileOperation、useListItemClick)
18 +
19 +2. **NutUI 组件使用陷阱**
20 + - textarea 样式无法覆盖 → 使用原生组件
21 + - IconFont 动态切换不响应 → 添加 `:key="name"`
22 + - 最佳实践建议
23 +
24 +3. **静态资源加载问题**
25 + - SVG 图标加载失败(500 错误)解决方案
26 + - 使用 `import` 导入静态资源
27 +
28 +4. **样式处理策略**
29 + - TailwindCSS vs Less 使用指南(80% vs 20%)
30 + - 双设计宽度系统详解
31 + - 使用场景对比表格
32 +
33 +5. **性能优化**
34 + - 响应式数据优化(shallowRef + markRaw)
35 + - 页面滚动优化(固定顶部 + 独立滚动)
36 + - 图片优化策略
37 +
38 +6. **代码质量**
39 + - JSDoc 注释规范
40 + - 命名规范
41 + - 错误处理模式
42 +
43 +7. **架构设计**
44 + - 统一的列表点击处理
45 + - 统一的文件操作
46 + - 分层架构原则
47 +
48 +## 🔄 优化文档
49 +
50 +### [CLAUDE.md](CLAUDE.md)
51 +
52 +**主要优化**:
53 +- ✅ 添加快速参考表格,常见问题一目了然
54 +- ✅ 核心架构模式章节更清晰
55 +- ✅ 添加样式处理策略和响应式优化章节
56 +- ✅ 删除重复内容,精简文档结构
57 +- ✅ 添加对经验教训文档的交叉引用
58 +- ✅ 使用表情符号和表格提升可读性
59 +
60 +**关键改进**:
61 +- 新增"快速参考"部分,常见问题快速解决
62 +- 重新组织"核心架构"章节,结构更清晰
63 +- 突出"第 3 次出现原则"等核心经验
64 +- 添加更多代码示例和最佳实践
65 +
66 +### [README.md](README.md)
67 +
68 +**主要优化**:
69 +- ✅ 添加项目文档索引(经验教训、CLAUDE.md)
70 +- ✅ 新增"核心特性"章节
71 +- ✅ 新增"常见问题"快速参考表格
72 +- ✅ 精简项目结构,移除过时内容
73 +- ✅ 优化开发规范说明
74 +- ✅ 删除离线缓存等不再维护的功能说明
75 +
76 +**关键改进**:
77 +- 突出项目的核心特性
78 +- 提供常见问题的快速解决方案
79 +- 更清晰的项目结构说明
80 +- 强调代码注释和开发规范
81 +
82 +## 📊 文档对比
83 +
84 +### 优化前
85 +- ❌ CLAUDE.md 过于详细,缺乏结构化
86 +- ❌ README.md 缺少项目亮点和常见问题
87 +- ❌ 经验教训散落在 CHANGELOG 中,不便于查阅
88 +- ❌ 缺少对 NutUI 陷阱、静态资源等问题的系统性总结
89 +
90 +### 优化后
91 +- ✅ 经验教训系统化整理,便于查阅
92 +- ✅ 文档结构清晰,使用表格和表情符号提升可读性
93 +- ✅ 添加交叉引用,相关文档相互链接
94 +- ✅ 突出核心经验:"第 3 次出现原则"、样式策略、性能优化
95 +- ✅ 提供常见问题的快速解决方案
96 +
97 +## 🎯 使用指南
98 +
99 +### 对于新开发者
100 +
101 +1. **首先阅读**: [README.md](README.md)
102 + - 了解项目概况
103 + - 查看快速开始指南
104 + - 阅读常见问题
105 +
106 +2. **深入学习**: [docs/lessons-learned.md](docs/lessons-learned.md)
107 + - 学习 Taro 项目开发的最佳实践
108 + - 了解常见陷阱和解决方案
109 + - 掌握组件抽取、样式处理、性能优化等核心技巧
110 +
111 +3. **开发参考**: [CLAUDE.md](CLAUDE.md)
112 + - 查看项目架构和核心模式
113 + - 参考 API 层、认证流程、导航系统等实现
114 + - 使用快速参考表格解决常见问题
115 +
116 +### 对于 Claude Code
117 +
118 +- **主要参考**: [CLAUDE.md](CLAUDE.md)
119 +- **辅助参考**: [docs/lessons-learned.md](docs/lessons-learned.md)
120 +- **遵循规范**: `~/.claude/rules/code-commenting.md`
121 +
122 +## 📌 核心经验总结
123 +
124 +### 1. "第 3 次出现原则"
125 +
126 +当相同代码模式出现 3 次时,**必须**抽取为 Composable 或组件。
127 +
128 +**实际收益**:
129 +- 减少 60-290 行重复代码
130 +- 提升可维护性
131 +- 统一修改点
132 +
133 +### 2. NutUI 组件陷阱
134 +
135 +| 问题 | 解决方案 |
136 +|------|---------|
137 +| textarea 样式无法覆盖 | 使用原生 `<textarea>` |
138 +| IconFont 动态切换不响应 | 添加 `:key="name"` |
139 +
140 +### 3. 静态资源加载
141 +
142 +- ❌ 错误: 字符串路径 `/assets/images/icon.svg`
143 +- ✅ 正确: `import icon from '@/assets/images/icon.svg'`
144 +
145 +### 4. 样式策略
146 +
147 +- **TailwindCSS** (80%): 布局、间距、颜色
148 +- **Less** (20%): 组件样式、动画、伪元素
149 +
150 +### 5. 性能优化
151 +
152 +- 使用 `shallowRef` + `markRaw` 处理组件对象
153 +- 固定顶部 + 列表独立滚动
154 +- CDN 参数优化图片
155 +
156 +## 🔄 持续改进
157 +
158 +本文档会随着项目开发持续更新,记录新的经验教训。
159 +
160 +**下次更新建议**:
161 +- 添加更多实际案例
162 +- 补充性能优化数据
163 +- 添加架构图和流程图
164 +
165 +---
166 +
167 +**优化日期**: 2026-01-31
168 +**维护者**: Claude Code
169 +**项目**: Manulife WeApp
This diff is collapsed. Click to expand it.