Claude Code
2026/4/101

如何用 Claude Code 修改别人写的代码库

接手陌生仓库时,我们会怎么用 Claude Code 做审计、谨慎改动和验证闭环。

如何用 Claude Code 修改别人写的代码库

你刚接手一个代码库。没有文档,没有测试,原作者已经走了,线上还有个 bug。

这正是 Claude Code 最有价值的场景之一。这篇文章讲的是一套很实用的三段式流程:先审计,再谨慎改动,最后做验证闭环

你需要准备什么

  • 已安装并登录 Claude Code(claude --version
  • 仓库的 Git 权限
  • 第一次大约 30 分钟,熟练之后会快很多

第一阶段:先把代码库审一遍

在你动任何一行代码之前,先建立一张“地图”。先让 Claude Code 帮你把仓库讲明白。

claude "Give me a plain-English tour of this repo. What is the entry point, what are the main layers, and where does data flow from the user to the database?"

Claude Code 会去读目录结构、关键文件和主要调用链,然后给你一个结构化总结。把它留存下来。

接下来,把明显的风险点先挖出来:

claude "List every place where user input touches the database without obvious sanitisation. Show file name and line number."

然后再对认证边界、第三方 API 调用、TODOFIXME 这些位置做同样的排查。这样你手里就会有一份优先级清单。

小建议:把审计输出直接存成一个 Markdown 文件,比如 claude "audit this repo" > audit.md。后面回头看会非常有用。

第二阶段:用最安全的方式改

这一阶段的目标不是“快点改完”,而是“改得容易审、容易回滚”。Claude Code 的价值不在于帮你盲改,而在于它能在读上下文之后给出更像样的最小修复。

2.1 先开一个分支

git checkout -b fix/inherited-bug

在一个你还没真正摸清的仓库里,不要直接在 main 上动。

2.2 描述 bug,不要直接指挥实现

这是最重要的一条。不要这样说:

# ❌ 不建议
claude "change line 47 in auth.js to use bcrypt instead of md5"

更好的方式是这样:

# ✅ 更稳
claude "Users can log in with any password after a failed attempt. Find the root cause and propose a minimal fix."

你描述的是“症状”,不是“拍脑袋的修法”。这样 Claude Code 才会去读周边逻辑、发现你可能忽略的关联问题,并给出更贴近现有代码风格的修复方案。

2.3 应用前先把 diff 看一遍

Claude Code 会先提出变更方案。先读 diff,每一行都看。

如果方向是对的,但细节不对,就直接用自然语言压回去:

claude "That fix looks right but it changes the error message format. Keep the original error messages."

你确认没问题之后,再应用:

claude --apply

第三阶段:一定要做验证闭环

一个“修了当前 bug,但顺手又弄坏别的地方”的改动,不算修复。这里一定要把测试和复查补上。

3.1 先让 Claude Code 写测试

claude "Write a test for the auth bug we just fixed. It should fail on the original code and pass on the patched code."

如果仓库里原本没有测试框架,Claude Code 通常会建议你补一个最小可用配置。这个时候可以让它搭,不要怕。

3.2 跑完整测试

npm test  # 或者项目实际使用的测试命令

如果测试挂了,把错误信息原样贴回 Claude Code:

claude "The tests are failing with this error: [paste error]. What went wrong?"

这就是完整闭环:修复 -> 测试 -> 诊断 -> 再修。大部分 bug 都会在两三轮内收住。

3.3 提 PR 之前再做一次最终复查

claude "Review the diff in this branch and flag anything that looks unintentional or risky."

它很适合抓这种小尾巴:忘删的 console.log、误保留的密钥、修完后已经没人在用的函数。

常见坑

为什么会发生更好的做法
Claude 改错文件你的描述太模糊直接点名文件或模块
本地修好了,CI 挂了环境假设不一致让 Claude 一起检查环境依赖
审计漏掉隐藏入口项目结构不标准提前告诉 Claude 任何非标准约定

最后总结

这套模式其实很简单:先审计,再安全改动,最后验证

Claude Code 在这里的价值,不是“魔法修 bug”,而是它能在更大的代码上下文里配合你做调查和收敛。你越先把代码库看明白,后面的修复就越稳。

先从审计开始。后面的大部分动作,都会顺着这个步骤自然展开。