/impact
改动影响分析。修改现有功能、重构、升级依赖前使用。
改动影响分析
对改动 "$ARGUMENTS" 进行影响分析:
1. 直接影响
搜索项目中所有直接引用目标模块/类型/函数的文件:
- 用 Grep 搜索 import 语句
- 用 Grep 搜索类型引用
- 用 Grep 搜索函数调用
列出每个引用点的文件路径和行号。
2. 间接影响
对直接影响的文件,追踪它们的调用者(向上一层):
- 如果改的是 Service 层,谁调用了这个 Service?
- 如果改的是类型定义,哪些 API Route 和组件用了这个类型?
- 如果改的是数据库 Schema,哪些 Service 和 migration 受影响?
3. 测试影响
列出覆盖该模块的现有测试:
- 单元测试:哪些测试文件测的是这个模块?
- 集成测试:哪些测试覆盖了受影响的 API?
- 标注:哪些受影响的模块没有测试覆盖?
4. 风险评估
输出格式:
## 影响分析报告
### 直接影响(改了就会影响)
| 文件 | 引用方式 | 风险 |
|------|---------|------|
| [文件路径] | [import/调用/类型引用] | [高/中/低] |
### 间接影响(可能波及)
| 文件 | 传导路径 | 风险 |
|------|---------|------|
### 测试覆盖
- 已覆盖:[列出]
- 未覆盖(需要补测试):[列出]
### 建议的改动顺序
1. [先改什么]
2. [再改什么]
3. [每步验证什么]IMPORTANT:
- 宁可多列不要漏列
- 未覆盖测试的模块标注为高风险
- 建议的改动顺序必须是可以逐步验证的