dev-refactor · git:20260730.6ee304a · 2026-07-30 · sha256 292dc109806225cf

dev-refactor git:20260730.6ee304aA

Immutable. This exact content is served forever at /api/v1/blob/292dc109806225cf.

---
name: dev-refactor
description: 重构子类型规范 — 测试覆盖前置确认 + 三段式重构流程
---
# Dev Refactor Skill

## 触发条件

用户意图为重构现有代码(不改变外部行为),典型场景:提取公共模块、消除重复代码、改善架构分层、升级编码风格。

## 前置检查(必须在 CP1 前完成)

| 项 | 内容 |
|----|------|
| 测试覆盖确认 | 确认被重构模块已有测试覆盖(单测/集成测试),无测试时**禁止继续**,优先补测试 |
| 基线快照 | 记录当前接口签名、导出列表、公开 API |
| 类型契约基线 | TypeScript 项目须区分必须保持兼容的公开类型契约与允许修正的旧类型缺陷 |

## 执行流程

```text
CP1(范围确认)→ CP2(方案确认)→ [plan-review] → [impact-review] → CP3(计划确认)→ 执行
```

**plan-review**:PR-1 在 CP2 前自检,PR-2~PR-7 在 CP2→CP3 之间执行;PR-5② 跨模块依赖变更时继续 `impact-review`,🔴 阻断时回 CP2。

**执行阶段**:
1. 最小增量重构,每步可独立回滚
2. 重构后运行测试套件(零新增失败)
3. 更新 API 文档(若接口签名变更)
4. document-sync(更新架构文档)

## 关键规则

- 🔴 重构前测试覆盖率不足时,**必须先补测试再重构**(C-REF-01)
- 禁止在重构 PR 中混入功能变更(行为不变原则)
- Breaking Changes 必须在 CP2 中列出并评估
- TypeScript 类型迁移或重构不得机械复制旧版本类型缺陷;应按公开契约与消费面逐步完善,跨模块业务契约、公开类型与配置类型优先集中到 types 契约层,本地私有 interface 可保留但须说明理由