跳转到内容

大型代码库的安全重构

在大型代码库中安全地重构核心服务类。OpenCode 会导航你的导入图、更新类型,并验证不会产生破坏。

何时使用此案例

  • 需要重命名或移动被广泛使用的类、函数或模块。
  • 变更涉及大量文件,手工编辑容易出错。
  • 希望每一步都可提交,便于回滚。

前置配置

  • 已安装 OpenCode,并配置了能力足够的 LLM 供应商。
  • 干净的工作区(提交或暂存当前改动)。
  • 一套测试套件或构建命令用于验证结果。

步骤

  1. 从干净的基础开始

    先提交当前工作,让 OpenCode 在已知状态上运行。

    git status
    git add -A && git commit -m "wip: before refactor"
  2. 描述重构目标

    准确告诉 OpenCode 要重命名什么,以及期望的最终状态。

    将整个项目中的 OldService 类重命名为 NewService。更新所有导入、类型引用和用法。不要改变任何公开行为。

  3. 让 OpenCode 评估影响范围

    OpenCode 会读取导入图,在动手编辑前列出所有受影响的文件,让你先确认波及范围。

  4. 审查并应用编辑

    逐条查看建议的改动。让 OpenCode 把编辑按逻辑分组提交:

    git commit -m "refactor: rename OldService to NewService"
  5. 验证

    运行构建和测试。如果出现错误,让 OpenCode 修复具体报错。

    npm run build && npm test

关键提示词

找到所有引用 OldService 的地方,包括导入、类型注解和字符串用法。把它们全部改名为 NewService。先列出文件清单,再分组提交应用。

常见坑点

  • 半途重命名:如果中途停下,残留的引用会破坏构建。务必让 OpenCode 完成全部改动后再验证。
  • 字符串引用:动态引用(如 container.get('OldService'))可能需要人工处理——明确指给 OpenCode。
  • 生成文件:把构建产物加入 .gitignore,避免被误改。

相关文档

  • 策略 — 控制 OpenCode 如何在你的项目中应用变更
  • 配置 — 管理 OpenCode 行为的 opencode.json 文件

相关案例

相关文档

下一步