接手别人的代码库是软件工程里最让人痛苦的事情之一。没有文档,没有注释,原作者已经离职。Claude Code 让这个过程快了 10 倍。
第一步:快速建立全局地图
claude "扫描这个代码库,生成一个高层次的架构概述:
1. 主要模块是什么?它们各自的职责
2. 数据流向:请求进来,经过哪些层,数据怎么流
3. 关键的配置文件和入口点
4. 有哪些外部依赖(数据库、消息队列、第三方服务)
输出格式:每个模块一段,用代码引用(文件:行号)支撑描述。"
第二步:理解核心流程
claude "跟踪一个用户支付请求的完整生命周期:
从 HTTP 请求进入,到数据库写入,到返回响应。
列出每一步:
1. 哪个文件的哪个函数处理了什么
2. 数据在这步如何变化
3. 有哪些判断分支
只跟踪成功路径,跳过错误处理。"
第三步:理解"为什么这么写"
claude "分析 src/payment/processor.go 里的这段代码(L45-120):
1. 它解决的是什么问题?
2. 为什么用这种方式而不是更直接的方式?
3. 有哪些地方看起来像 workaround?
4. 结合 git 历史里的注释(如果有),推断背后的决策
不要评价好坏,只描述你的理解。"
第四步:建立修改地图
claude "我要修改用户通知的发送逻辑(目前在 notification_service.go)。
帮我找出:
1. 修改这个文件会影响哪些其他模块?
2. 有哪些测试会需要更新?
3. 有没有直接依赖这个模块的外部系统(webhook、消费者)?
4. 有没有缓存层需要考虑?"
第五步:找出危险区域
claude "扫描代码库,标记我应该'绕道走'的区域:
1. 有大量 hack 注释的地方
2. 被多个模块紧密依赖的关键文件
3. 没有测试覆盖但逻辑复杂的函数
4. 看起来有已知 bug 但没有修复的代码(TODO、FIXME)
这些区域我在不完全理解之前不应该修改。"
生成 Onboarding 文档:
claude "基于你对这个代码库的理解,
为新加入的工程师生成一份 2 页的入门指南:
- 本地开发环境搭建
- 代码架构概述
- 主要功能的入口点
- 5 个最重要的需要了解的文件
格式用 Markdown,放在 docs/ONBOARDING.md。"
花 1-2 小时和 Claude Code 进行这些对话,能让你从"完全不知道代码库做什么"到"有足够信心开始第一个 PR"。这是最高 ROI 的使用场景之一。