Files
vibe_coding/.cursor/rules/033-refactoring.mdc
2026-03-05 21:27:11 +08:00

65 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: >
安全重构技能。当用户要求重构代码、清理技术债、优化代码结构
或简化复杂逻辑时激活。行为不变前提下改善内部结构。
alwaysApply: false
---
# Refactoring Workflow
> 本文件是精简执行摘要。完整流程、模板和深度参考见:
> Read `.cursor/skills/refactoring/SKILL.md`
依赖技能:`vue-testing`Cursor 已通过 `skill-vue-testing` 规则自动加载)
## 黄金规则
> 重构 = 不改变外部行为的前提下改善内部结构。
> 每一步都要小到"显然正确",每一步之后测试必须全部通过。
> 如果测试不足,先补测试再重构。
## 执行流程
### 1. 评估现状
1. 读取目标代码,识别"代码坏味道"
2. 运行现有测试确认基线:`npm test -- --related`
3. 如果测试覆盖不足,**先补充测试**
### 2. 制定重构计划
| 坏味道 | 重构手法 | 风险 |
|--------|---------|------|
| 函数过长(>50行 | Extract Function | 低 |
| 重复代码 | Extract + Consolidate | 低 |
| 过长参数列表 | Introduce Parameter Object | 低 |
| Switch/If 过多 | Replace with Polymorphism | 中 |
| 大类 | Extract Class | 中 |
| Feature Envy | Move Method | 中 |
| 深层嵌套 | Replace Nested with Guard Clauses | 低 |
| 大型组件 | 拆分为子组件 | 中 |
| 条件复杂度 | 策略模式/映射表 | 中 |
| 魔法数字 | 提取常量/枚举 | 低 |
### 3. 小步执行
对每一步:
1. 做一个**原子级**的重构变更
2. 运行测试 -> 全部通过
3. Git commit可选但建议频繁提交
4. 继续下一步
## 禁止事项
- 不要在重构中同时添加新功能
- 不要一次改太多(改完跑不了测试)
- 不要在没有测试的情况下重构核心逻辑
- 不要重构正在被其他人修改的代码
## 验证
- [ ] 所有测试通过
- [ ] ESLint 无报错
- [ ] 外部行为未改变
- [ ] 代码可读性提升