Back to skills
SKILL.md
Fec Refactoring
ASecurity用于在不改变可观察行为的前提下重组既有前端代码,包括职责提炼、模块搬移、条件逻辑简化、API 整理和数据组织。不要用于新增功能、改变行为的缺陷修复、依赖或框架迁移,以及已经证实的死代码清理。
- 21 stars
- 0 votes
- 0 copies
- 1 view
- Added September 3, 2026
Works with
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add bovinphang/frontend-craft --skill fec-refactoring --agent claude-codeAre you the author of Fec Refactoring?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/bovinphang-fec-refactoring)---
name: fec-refactoring
description: 用于在不改变可观察行为的前提下重组既有前端代码,包括职责提炼、模块搬移、条件逻辑简化、API 整理和数据组织。不要用于新增功能、改变行为的缺陷修复、依赖或框架迁移,以及已经证实的死代码清理。
---
# 技能:保持行为的重构
## 用途
以小步、可验证、可回滚的方式重组仍在使用的前端代码,同时保持用户、调用方、测试、路由和集成能够观察到的行为不变。
## 核心契约
每次执行都遵守以下规则:
1. **行为保持**:纯重构只改变内部结构,不主动改变可观察行为。
2. **修改前基线**:编辑前先记录当前可用验证结果。
3. **一次只做一个主要重构**:每一步只有一个主要结构意图。
4. **每一步都验证**:完成一步后立即运行最小但有效的验证。
5. **先回滚当前步骤,再讨论修复**:若当前步骤引入回归,先恢复到上一步,再缩小或重排方案。
6. **重构与功能修改分离**:新增行为或改变行为的缺陷修复不属于纯重构。
7. **优先最小安全重构**:有局部、可逆方案时,不直接扩大为架构重写。
8. **遵守差异预算**:实际修改范围明显超出计划时必须停止并重新评估。
纯重构采用 **GREEN → REFACTOR → GREEN**,不为了形式上的 TDD 人为制造失败行为测试。
## 流程
1. 分类请求,确认目标是结构调整且要求行为保持。
2. 读取项目配置、受影响模块、公开导出、路由、状态边界、测试和当前 diff。
3. 记录相关可观察契约:输入、输出、异常、副作用、UI 状态、事件、网络请求、状态迁移、路由和公开 API。
4. 建立修改前基线;既有失败要单独记录,不能算到后续重构头上。
5. 基于证据诊断结构问题,并检查可能的误判。
6. 建立安全网:优先复用已有测试,风险较高且覆盖不足时再补当前行为的特征测试。
7. 把方案拆成有顺序的小步,每步记录手法、原因、前置条件、风险、差异预算、验证和回滚边界。
8. 每次只执行一个主要结构变换,不夹带无关清理、格式化和重新设计。
9. 立即验证,并比较实际修改范围与差异预算。
10. 若出现新回归,先回滚当前步骤,确认基线恢复,再缩小或调整顺序。
11. 最后按需要运行类型检查、测试、构建、E2E、无障碍或其他专项门禁。
12. 根据证据给出 PASS、PARTIAL 或 NOT PROVEN,不夸大验证强度。
## 风险分级
| 风险 | 常见范围 | 默认动作 |
| --- | --- | --- |
| `SAFE` | 局部私有代码、契约稳定、容易回滚 | 可执行,并逐步验证 |
| `CAUTION` | 跨模块、共享状态、导入、Hook/Composable、生命周期 | 安全证据充分时执行,否则先规划 |
| `DANGER` | 公开 API、路由、持久化、网络契约、认证、SSR/水合、大范围状态或继承改造 | 默认先规划并停止等待明确授权 |
风险由上下文决定,不能只凭手法名称判定安全级别。
## 差异预算
每个可执行步骤先写清:
```text
预期文件数:N
预期函数/组件数:N
预期公开 API 变化:0
预期行为变化:0
```
如果实际 diff 明显超出预算,停止并重新评估,不能静默扩大成重新设计。
## 参考资料
- 安全规则、证据模型和风险语言见 [principles.md](references/principles.md)。
- 状态机、基线、回滚和报告契约见 [workflow.md](references/workflow.md)。
- 判断何时重构或何时延后见 [when-to-refactor.md](references/when-to-refactor.md)。
- 区分重构、功能、缺陷、清理、迁移和评审见 [refactoring-vs-feature-change.md](references/refactoring-vs-feature-change.md)。
## 约束
- 不修改测试来接受被重构意外改变的业务行为。
- 未有充分证据时,不把认证、权限、路由、持久化、协议或公开包契约变化标为 `SAFE`。
- 当前步骤出现新失败后,不继续叠加结构修改。
- 项目没有测试框架时,不自动安装新框架。
- 行数、复杂度、注释、一个 switch 或链式调用都不能单独证明存在坏味道。
- 默认不执行远程 Git 写入。
## 预期输出
输出带证据、风险、差异预算、逐步验证和必要回滚记录的重构方案或实现,并给出 PASS、PARTIAL 或 NOT PROVEN 的行为保持结论。
Files in this skill
- SKILL.md
- references/principles.md
- references/refactoring-vs-feature-change.md
- references/when-to-refactor.md
- references/workflow.md
Attribution
Comments
Loading comments…