hookehuyr

docs: 添加AI辅助开发工作流优化方案文档

添加详细的工作流程文档,分析Trae和Claude Code在不同场景下的优势,并提出分工协作策略。文档包含决策树、质量保证清单和实用技巧,旨在优化开发效率与代码质量。
1 +# AI 辅助开发工作流优化方案
2 +
3 +## 背景分析
4 +
5 +### 观察结果
6 +
7 +1. **Trae 在页面生成上表现更优**
8 + - 从设计稿生成页面的视觉效果更好
9 + - 样式还原准确,细节处理完整
10 + - 前端组件生成更符合设计要求
11 +
12 +2. **Claude Code (CC) 在逻辑规划上更强**
13 + - 头脑风暴和需求分析能力强
14 + - 计划生成和任务分解优秀
15 + - 代码审查和测试能力突出
16 +
17 +3. **问题定位**
18 + - CC 直接生成大段 Vue 页面代码时效果不够精细
19 + - 可能是模型在前端视觉还原能力上的局限
20 +
21 +## 核心策略
22 +
23 +**优势互补,分工协作**
24 +
25 +```
26 +CC (Claude Code) → 逻辑、规划、测试
27 +Trae → 视觉、页面、样式
28 +```
29 +
30 +## 推荐工作流
31 +
32 +### 阶段 1: 需求与规划 (CC 负责)
33 +
34 +```
35 +需求输入
36 +
37 + ├─ 头脑风暴
38 + │ → 使用 CC 的 brainstorming skill
39 + │ → 探索用户意图,明确需求范围
40 +
41 + ├─ 需求澄清
42 + │ → 使用 CC 的 AskUserQuestion 工具
43 + │ → 确认技术方案和实现细节
44 +
45 + ├─ 计划生成
46 + │ → 使用 CC 的 /speckit.plan 命令
47 + │ → 或使用 EnterPlanMode 进入计划模式
48 + │ → 生成详细的实现计划
49 +
50 + └─ 任务分解
51 + → 使用 CC 的 /speckit.tasks 命令
52 + → 或使用 TaskCreate 工具
53 + → 输出可执行的任务清单
54 +```
55 +
56 +**输出物**
57 +
58 +- ✅ 功能规范文档
59 +- ✅ 技术实现计划
60 +- ✅ 任务清单(含优先级和依赖关系)
61 +
62 +---
63 +
64 +### 阶段 2: 代码实现 (混合使用)
65 +
66 +#### 场景 A: 新页面从设计稿生成 → **Trae**
67 +
68 +```bash
69 +# 使用 Trae 的步骤
70 +1. 准备设计稿截图(Figma/Sketch/图片)
71 +2. 复制 CC 生成的功能规范作为需求描述
72 +3. 上传设计稿到 Trae
73 +4. 描述需求(参考规范文档)
74 +5. Trae 生成页面代码
75 +6. 手动调整样式细节
76 +```
77 +
78 +**适用场景**
79 +
80 +- ✅ 全新页面开发
81 +- ✅ 复杂 UI 布局
82 +- ✅ 高度还原设计稿
83 +
84 +---
85 +
86 +#### 场景 B: 逻辑层代码 → **CC**
87 +
88 +```bash
89 +# 使用 CC 的步骤
90 +1. 生成 API 接口代码 (/src/api/)
91 + → 遵循项目统一返回结构 { code, data, msg }
92 + → 使用正确的认证头处理
93 +
94 +2. 生成 Composables (/src/composables/)
95 + → 提取可复用逻辑
96 + → 返回响应式 refs 和函数
97 +
98 +3. 生成工具函数 (/src/utils/)
99 + → 通用工具函数
100 + → 遵循单一职责原则
101 +
102 +4. 状态管理代码
103 + → Context API providers
104 + → localStorage 持久化逻辑
105 +```
106 +
107 +**适用场景**
108 +
109 +- ✅ API 接口定义
110 +- ✅ 业务逻辑封装
111 +- ✅ 数据处理函数
112 +- ✅ 路由和权限逻辑
113 +
114 +---
115 +
116 +#### 场景 C: 已有页面修改 → **CC(待测试)**
117 +
118 +```bash
119 +# 测试方案
120 +1. 小改动(< 50 行代码)
121 + → 使用 CC 修改
122 + → 对比效果
123 +
124 +2. 大改动(> 50 行代码)
125 + → 评估复杂度
126 + → 简单改动用 CC
127 + → 复杂改动考虑 Trae
128 +
129 +3. 记录结果
130 + → 更新决策树
131 + → 积累经验数据
132 +```
133 +
134 +**待验证假设**
135 +
136 +- ❓ CC 在小改动场景下是否足够好?
137 +- ❓ 什么样的改动适合 CC vs Trae?
138 +- ❓ 效率和质量的平衡点在哪里?
139 +
140 +---
141 +
142 +### 阶段 3: 测试与优化 (CC 负责)
143 +
144 +```
145 +Trae 生成代码
146 +
147 + ├─ 代码审查
148 + │ → 使用 CC 的 /code-review 命令
149 + │ → 检查代码风格和架构模式
150 + │ → 统一为项目标准
151 +
152 + ├─ 测试编写
153 + │ → 使用 CC 的 /tdd 命令
154 + │ → 遵循 TDD 流程
155 + │ → 单元测试 + 集成测试
156 +
157 + ├─ 测试执行
158 + │ → 使用 CC 的 /verify 命令
159 + │ → 运行 pnpm test
160 + │ → 检查覆盖率 > 80%
161 +
162 + └─ Bug 修复
163 + → CC 分析问题
164 + → 修复并回归测试
165 +```
166 +
167 +**输出物**
168 +
169 +- ✅ 符合项目规范的代码
170 +- ✅ 完整的测试覆盖
171 +- ✅ 通过所有测试的代码
172 +
173 +---
174 +
175 +## 决策树
176 +
177 +```
178 +开始开发任务
179 +
180 + ├─ 需求不明确?
181 + │ └─→ CC: /speckit.specify + /speckit.plan ✅
182 +
183 + ├─ 新页面 + 有设计稿?
184 + │ └─→ Trae 生成页面 ✅
185 + │ └─→ CC 审查 + 测试 ✅
186 +
187 + ├─ 纯逻辑代码?
188 + │ ├─ API 接口?
189 + │ │ └─→ CC 生成 ✅
190 + │ ├─ Composables?
191 + │ │ └─→ CC 生成 ✅
192 + │ └─ 工具函数?
193 + │ └─→ CC 生成 ✅
194 +
195 + ├─ 修改已有页面?
196 + │ ├─ 改动 < 50 行?
197 + │ │ └─→ CC 修改 ✅
198 + │ └─ 改动 > 50 行?
199 + │ ├─ 简单调整?→ CC ✅
200 + │ └─ 复杂重构?→ Trae ✅
201 +
202 + └─ 需要测试/审查?
203 + └─→ CC 全权负责 ✅
204 +```
205 +
206 +---
207 +
208 +## 工具协作模式
209 +
210 +### 模式 1: 串行协作(推荐)
211 +
212 +```
213 +CC (规划)
214 + ↓ 输出规范文档
215 +Trae (实现)
216 + ↓ 生成代码
217 +CC (审查 + 测试)
218 + ↓ 质量保证
219 +完成
220 +```
221 +
222 +**优点**
223 +
224 +- ✅ 发挥各自优势
225 +- ✅ 质量可控
226 +- ✅ 流程清晰
227 +
228 +**缺点**
229 +
230 +- ⚠️ 需要切换工具
231 +- ⚠️ 可能有额外沟通成本
232 +
233 +---
234 +
235 +### 模式 2: 并行协作(高级)
236 +
237 +```
238 +CC (API + 逻辑) ──┐
239 + ├──> 合并 → 测试
240 +Trae (页面 + 样式) ┘
241 +```
242 +
243 +**适用场景**
244 +
245 +- 前后端分离开发
246 +- 页面和逻辑可独立实现
247 +- 时间紧迫的项目
248 +
249 +---
250 +
251 +## 质量保证清单
252 +
253 +### Trae 生成代码后的检查
254 +
255 +- [ ] **代码格式化**
256 +
257 + ```bash
258 + pnpm format # Prettier 自动格式化
259 + ```
260 +
261 +- [ ] **代码风格检查**
262 +
263 + ```bash
264 + pnpm lint # ESLint 检查
265 + ```
266 +
267 +- [ ] **架构模式符合**
268 + - API 层:`/src/api/`
269 + - Composables:`/src/composables/`
270 + - 组件层:`/src/components/`
271 + - 遵循路径别名规范
272 +
273 +- [ ] **CC 代码审查**
274 +
275 + ```bash
276 + /code-review # 使用 code-review skill
277 + ```
278 +
279 +- [ ] **测试覆盖**
280 +
281 + ```bash
282 + /tdd # 使用 tdd skill 编写测试
283 + pnpm test # 运行测试
284 + ```
285 +
286 +- [ ] **构建验证**
287 + ```bash
288 + pnpm build # 确保构建成功
289 + ```
290 +
291 +---
292 +
293 +## 实用技巧
294 +
295 +### 1. 提示词模板
296 +
297 +**CC 规划阶段**
298 +
299 +```
300 +请使用 /speckit.plan 命令为以下需求生成实现计划:
301 +
302 +[需求描述]
303 +
304 +要求:
305 +1. 遵循项目 CLAUDE.md 中的架构模式
306 +2. 考虑与现有代码的集成
307 +3. 生成可执行的任务清单
308 +```
309 +
310 +**Trae 生成阶段**:
311 +
312 +```
313 +请根据以下设计稿生成 Vue 3 页面代码:
314 +
315 +功能规范:
316 +[复制 CC 生成的规范]
317 +
318 +技术要求:
319 +- 框架:Vue 3.5 + Composition API
320 +- UI 库:Vant 4.9
321 +- 样式:TailwindCSS + Less
322 +- 路由:Hash 模式 (/#/)
323 +- 遵循项目路径别名 (@/, @components/, 等)
324 +```
325 +
326 +### 2. 代码迁移清单
327 +
328 +Trae → CC 审查时检查:
329 +
330 +- [ ] 是否使用 `localStorage.user_info` 获取认证信息
331 +- [ ] API 调用是否检查 `res.code === 1`
332 +- [ ] 是否正确使用路径别名
333 +- [ ] 是否遵循项目的组件命名规范
334 +- [ ] 是否正确处理 401 响应
335 +- [ ] 是否使用 Vant 组件(自动导入)
336 +
337 +### 3. 效率提升建议
338 +
339 +- **建立模板库**:常用页面结构(列表页、详情页、表单页)
340 +- **积累提示词**:记录效果好的提示词模板
341 +- **工具快捷键**:熟练使用 CC 的 Skills 命令
342 +- **批量操作**:一次性生成多个相关组件
343 +
344 +---
345 +
346 +## 待验证事项
347 +
348 +### 高优先级
349 +
350 +1. **已有页面修改测试**:
351 + - [ ] 小改动(< 50 行)使用 CC 的效果
352 + - [ ] 大改动(> 50 行)使用 CC vs Trae 的对比
353 + - [ ] 记录成功/失败案例
354 +
355 +2. **代码质量对比**:
356 + - [ ] Trae 生成代码的 bug 率
357 + - [ ] CC 审查后的改进效果
358 + - [ ] 测试覆盖率的差异
359 +
360 +### 中优先级
361 +
362 +3. **效率对比**:
363 + - [ ] 完整功能的开发时间
364 + - [ ] 返工次数和原因
365 + - [ ] 学习曲线和上手难度
366 +
367 +4. **集成成本**:
368 + - [ ] 工具切换的时间成本
369 + - [ ] 代码迁移的工作量
370 + - [ ] 团队协作的复杂度
371 +
372 +---
373 +
374 +## 数据记录模板
375 +
376 +建议记录每次使用的经验:
377 +
378 +```markdown
379 +## [功能名称] 开发记录
380 +
381 +**日期**: 2026-XX-XX
382 +**工具组合**: CC (规划) + Trae (实现) + CC (测试)
383 +
384 +### 阶段 1: 规划 (CC)
385 +
386 +- 用时: XX 分钟
387 +- 质量: ⭐⭐⭐⭐⭐
388 +- 问题: 无
389 +
390 +### 阶段 2: 实现 (Trae)
391 +
392 +- 用时: XX 分钟
393 +- 质量: ⭐⭐⭐⭐
394 +- 问题:
395 + - 样式需要微调
396 + - 缺少某个功能
397 +
398 +### 阶段 3: 测试 (CC)
399 +
400 +- 用时: XX 分钟
401 +- Bug 数: X 个
402 +- 测试覆盖率: XX%
403 +
404 +### 总体评价
405 +
406 +- 总用时: XX 分钟
407 +- 满意度: ⭐⭐⭐⭐
408 +- 建议: 下次类似功能继续使用此流程
409 +```
410 +
411 +---
412 +
413 +## 兜底方案
414 +
415 +### 方案 A: 纯 CC 流程
416 +
417 +**适用**:Trae 不可用或效果不佳时
418 +
419 +```
420 +CC (规划 + 实现 + 测试)
421 +
422 +完成
423 +```
424 +
425 +**缺点**:
426 +
427 +- 页面生成效果可能不够精细
428 +- 需要手动调整样式
429 +
430 +---
431 +
432 +### 方案 B: 纯 Trae 流程
433 +
434 +**适用**:简单页面,逻辑较少
435 +
436 +```
437 +Trae (规划 + 实现)
438 +
439 +手动测试
440 +```
441 +
442 +**缺点**:
443 +
444 +- 缺少系统性规划
445 +- 测试覆盖不足
446 +- 可能不符合项目架构
447 +
448 +---
449 +
450 +### 方案 C: 混合流程(推荐)✅
451 +
452 +```
453 +CC (规划)
454 +
455 +Trae (页面)
456 +
457 +CC (逻辑 + 测试)
458 +
459 +完成
460 +```
461 +
462 +**优点**
463 +
464 +- ✅ 发挥各自优势
465 +- ✅ 质量最优
466 +- ✅ 效率最高
467 +
468 +---
469 +
470 +## 下一步行动
471 +
472 +### 立即执行
473 +
474 +1. **下次新功能开发时**
475 + - [ ] 使用 CC 的 `/speckit.plan` 生成计划
476 + - [ ] 使用 Trae 生成页面代码
477 + - [ ] 使用 CC 进行代码审查和测试
478 + - [ ] 记录效果和改进建议
479 +
480 +2. **建立对比数据**
481 + - [ ] 创建 Excel 表格或 Notion 数据库
482 + - [ ] 记录每次开发的工具选择和效果
483 + - [ ] 定期回顾和优化流程
484 +
485 +### 持续优化
486 +
487 +3. **每周回顾**
488 + - [ ] 回顾本周开发任务的工具使用情况
489 + - [ ] 识别模式和最佳实践
490 + - [ ] 更新决策树和工作流
491 +
492 +4. **知识积累**
493 + - [ ] 整理成功的提示词模板
494 + - [ ] 记录常见问题和解决方案
495 + - [ ] 建立组件库和代码片段库
496 +
497 +---
498 +
499 +## 总结
500 +
501 +**核心原则**
502 +
503 +> 发挥每个工具的优势,而不是试图用一个工具做所有事情。
504 +
505 +- **CC (Claude Code)**: 逻辑、规划、测试
506 +- **Trae**: 视觉、页面、样式
507 +
508 +**预期效果**
509 +
510 +- ✅ 开发效率提升 30-50%
511 +- ✅ 代码质量更稳定
512 +- ✅ 视觉还原度更高
513 +- ✅ 测试覆盖更全面
514 +
515 +**关键成功因素**
516 +
517 +1. 明确的工具分工
518 +2. 标准化的工作流程
519 +3. 持续的数据记录和优化
520 +4. 质量保证清单的严格执行