全自动代码重构
跨文件理解依赖关系,一条指令批量重构整个项目 —— 不是改变量名,是真正的结构级重构
传统重构有多痛,你肯定懂
手动重构 = 加班 + 祈祷
改一个函数名,得全局搜索改 100 个文件。改完还怕漏了哪个引用,跑完测试发现三个地方炸了,又开始二分法排查。越是大项目越不敢动,结果技术债越积越多,谁都不想碰那坨代码。更别说 class 拆分、模块抽取这种大手术 —— 手动搞,至少一周起步。
OpenClaw 怎么解决这个问题
一条指令扫描整个项目,跨文件理解依赖
OpenClaw 不是只看你当前打开的文件 —— 它会读取整个项目目录,分析 import 链、函数调用关系、类型定义、模块依赖,然后再动手改。改完自动跑测试确认没破坏现有功能。你只要说「把这个项目从 class 改成 hooks」,剩下的它来。
拿走就能用的 Prompt
这三条 Prompt 覆盖了最常见的重构场景,直接复制粘贴。
把项目从 Class Component 重构为 React Hooks
黄金指令
请分析当前项目中所有 React Class Component 文件。
执行以下重构任务:
1. 将每个 class component 转换为函数组件 + Hooks
2. this.state / this.setState → useState
3. componentDidMount / componentWillUnmount → useEffect
4. 提取可复用逻辑为自定义 Hook
5. 保持 props 接口不变,确保父组件不用改
6. 跑一遍现有测试确认没有 break
每个文件的改动单独列出,说明改了什么、为什么这样改。
这条在 Claude Opus 上效果拉满,它能正确追踪 this 引用和生命周期的对应关系。文件多的项目建议按目录分批执行。
统一项目的错误处理模式
进阶技巧
分析当前项目中所有的错误处理代码。
当前状态审计:
- 找出所有 try-catch 块、.catch() 调用、error callback
- 列出不一致的地方(有的吞掉错误、有的只 console.log、有的往上抛)
统一方案:
1. 创建统一的 AppError 类(包含 code, message, cause)
2. 创建全局错误处理中间件
3. 所有业务层用 AppError 抛出,不直接 throw new Error
4. API 层统一返回 { success: false, error: { code, message } }
5. 给出修改后的文件清单和 diff
这条 Prompt 让 AI 先审计再动手,避免盲目修改。适合项目里错误处理一团糟的情况。
将 JavaScript 项目迁移为 TypeScript
黄金指令
我要把这个 JavaScript 项目迁移到 TypeScript。
请按以下步骤执行:
1. 分析项目结构,生成 tsconfig.json(strict 模式)
2. 从入口文件开始,按依赖顺序逐个迁移 .js → .ts/.tsx
3. 为所有函数参数和返回值添加类型注解
4. 将 any 使用降到最低,尽量用具体类型
5. 为第三方库安装对应的 @types 包
6. 创建 types/ 目录存放公共类型定义
7. 确保 tsc --noEmit 通过,没有类型错误
每个文件列出改动摘要。如果某些地方必须用 any,说明原因。
JS 转 TS 是最常见的迁移需求。这条 Prompt 让 AI 按依赖顺序来,而不是乱序迁移导致到处报错。
推荐配置
重构任务建议用这套配置,让 AI 更谨慎、更可控。
skill_config — 代码重构专用
# .openclaw/skill_config.yaml
refactor:
model: claude-opus-4-6 # 重构首选 Opus,跨文件理解最强
context_depth: full # 读取完整项目结构
safety:
dry_run: true # 先预览改动,确认后再写入
run_tests: true # 改完自动跑测试
backup: true # 改之前先备份
ignore:
- node_modules/
- dist/
- "*.min.js"
OpenClaw vs Copilot —— 重构能力对比
OpenClaw 重构
- 理解整个项目的依赖图,改一处自动更新所有引用
- 跨文件批量重命名、提取公共模块、拆分巨型文件
- 改完自动跑测试验证,有问题立刻回退
- 支持自定义重构规则和黑名单
VS
Copilot 重构
- 主要在当前文件内补全和建议修改
- 跨文件重构需要手动逐个打开文件
- 没有内置的测试验证流程
- 依赖 IDE 的重构功能,能力受限于 IDE 插件
更详细的对比 👉 OpenClaw vs Copilot · OpenClaw vs Cursor
实战场景:大型项目重构
10 万行 React 项目从 Class 迁移到 Hooks
一个 3 年老项目,200+ 个 class component,团队想迁移到 Hooks 但没人敢动。预估手动迁移要 3 个月。
OpenClaw 方案
用 Prompt 让 AI 按模块分批迁移,每批改完跑测试。全程 2 天完成,0 个线上 Bug。关键是 AI 能正确处理 this 绑定、生命周期映射、ref 转换这些容易出错的地方。
传统方案
手动逐个文件改。改到第 50 个文件的时候开始出现遗漏,this 绑定丢失导致运行时报错。最后花了 2 个月,还留了十几个 Bug 在线上。
结论:项目级重构是 AI 最能体现价值的场景 —— 不是快一点点,是量级上的碾压。
重构场景用哪个模型
重构对模型的代码理解能力要求最高,别省这个钱。
- Claude Opus 4.6 —— 大型重构首选,跨文件依赖追踪最强
- GPT-4o —— 中小型重构够用,速度更快
- DeepSeek V3.2 —— 预算有限时的替代方案,效果也不差
几条经验
大项目别一次全改 —— 按模块分批重构,每批改完跑测试确认,再改下一批。
重构前先确认测试覆盖率足够。没有测试的代码,AI 改完你也不知道对不对。
用 dry_run 模式先预览改动。觉得没问题再让 AI 真正写入文件。