大型代码库的安全重构
在大型代码库中安全地重构核心服务类。OpenCode 会导航你的导入图、更新类型,并验证不会产生破坏。
何时使用此案例
- 需要重命名或移动被广泛使用的类、函数或模块。
- 变更涉及大量文件,手工编辑容易出错。
- 希望每一步都可提交,便于回滚。
前置配置
- 已安装 OpenCode,并配置了能力足够的 LLM 供应商。
- 干净的工作区(提交或暂存当前改动)。
- 一套测试套件或构建命令用于验证结果。
步骤
-
从干净的基础开始
先提交当前工作,让 OpenCode 在已知状态上运行。
git status git add -A && git commit -m "wip: before refactor" -
描述重构目标
准确告诉 OpenCode 要重命名什么,以及期望的最终状态。
将整个项目中的
OldService类重命名为NewService。更新所有导入、类型引用和用法。不要改变任何公开行为。 -
让 OpenCode 评估影响范围
OpenCode 会读取导入图,在动手编辑前列出所有受影响的文件,让你先确认波及范围。
-
审查并应用编辑
逐条查看建议的改动。让 OpenCode 把编辑按逻辑分组提交:
git commit -m "refactor: rename OldService to NewService" -
验证
运行构建和测试。如果出现错误,让 OpenCode 修复具体报错。
npm run build && npm test
关键提示词
找到所有引用
OldService的地方,包括导入、类型注解和字符串用法。把它们全部改名为NewService。先列出文件清单,再分组提交应用。
常见坑点
- 半途重命名:如果中途停下,残留的引用会破坏构建。务必让 OpenCode 完成全部改动后再验证。
- 字符串引用:动态引用(如
container.get('OldService'))可能需要人工处理——明确指给 OpenCode。 - 生成文件:把构建产物加入
.gitignore,避免被误改。
相关文档
相关案例
- bug-hunting —
reason.refactor.to-bug-hunting - mcp-server —
reason.refactor.to-mcp - git-commit-workflow —
reason.refactor.to-git
相关文档
下一步
- bug-hunting —
next.refactor.to-bug-hunting