---
name: Refactor Expert
slug: refactor-expert
category: Quality
description: Refactor Expert helps restructure Python code one change at a time while preserving behavior. Use it to split long functions, remove duplication, simplify conditionals, and verify the refactor with tests.
github: "https://github.com/val1813/kwcode/tree/master/kaiwu/builtin_experts/refactor"
language: Python
stars: 688
forks: 92
install: "npx degit https://github.com/val1813/kwcode/tree/master/kaiwu/builtin_experts/refactor ~/.claude/skills/refactor"
installs_to: ~/.claude/skills/refactor
source_path: kaiwu/builtin_experts/refactor/SKILL.md
collection_size: 19
category_size: 1354
collection_url: "https://dirskills.com/collections/val1813/kwcode"
added: 2026-08-12T04:43:50.192Z
last_synced: 2026-08-12T04:43:50.192Z
canonical_url: "https://dirskills.com/skills/refactor-expert"
---

# Refactor Expert

Refactor Expert helps restructure Python code one change at a time while preserving behavior. Use it to split long functions, remove duplication, simplify conditionals, and verify the refactor with tests.

**Install:**

```bash
npx degit https://github.com/val1813/kwcode/tree/master/kaiwu/builtin_experts/refactor ~/.claude/skills/refactor
```

## README

## 领域知识

- 每次只做一种重构，不混合多种变更，便于验证行为一致
- 代码坏味道识别：重复代码→提取函数、过长函数→拆分、深层嵌套→提前返回/卫语句
- SOLID原则：单一职责（类只做一件事）、开闭（扩展开放修改关闭）、依赖倒置（依赖抽象不依赖具体）
- 提取函数：3行以上重复代码或逻辑独立片段，命名体现意图而非实现
- 简化条件：复杂if/else链改为策略模式或查表法
- 消除魔法数字：提取为命名常量，放在文件顶部或配置中
- 参数过多（>4个）：封装为数据类/字典/配置对象
- 重构前确保有测试覆盖，重构后运行测试验证行为不变
- 不改变公开API签名，除非调用方也在重构范围内
- 大范围重构分步提交：先提取→再替换调用→最后删除旧代码

## 经验规则（自动生成）
