Claude Code 上手指南:比 CLI 更狠的 AI 编程助手
一线开发者真实使用 Claude Code 的体验:批量重构、legacy代码解析、测试生成,以及权限模式、上下文窗口等实战踩坑经验。
# Claude Code 上手指南:比 CLI 更狠的 AI 编程助手
前阵子 Claude Code 上线的时候,我抱着"又一个 AI 编程玩具"的心态试了两周,最后居然成了我日常主力工具。这篇文章不吹不黑,聊聊真实体验、坑,以及怎么把它用到刀刃上。
先说结论:它跟 ChatGPT 不是一回事
很多人第一反应是"这不就是个带代码执行能力的聊天窗口吗"。大错特错。
Claude Code 的核心卖点是**直接操作你的项目文件**。你不需要把代码贴到聊天框,它能在你的终端里读文件、改文件、跑命令,然后告诉你改了什么。这种"边干边说"的模式,比"先描述再粘贴"效率高出一个量级。
安装和基本配置
npm install -g @anthropic-ai/claude-code
装完之后初始化:
claude
它会问你几个问题:选模型(默认 Claude 3.7 Sonnet)、选工作目录、要不要开 sandbox。我建议直接全选默认,后面想改再改配置文件。
~/.claude/settings.json 是关键,我推荐至少配这些:
{
"model": "claude-sonnet-4-20250514",
"permissionMode": "default",
"enableAllKeyboardShortcuts": true,
"allowedTools": ["Bash", "Edit", "Write", "Read", "Glob", "Grep"]
}
三个我觉得最实用的场景
场景一:批量重构,不用你手动翻文件
有个需求:把项目里所有 lodash.get 的调用换成原生可选链 ?.。
之前我会:
2. 一个个打开文件改
3. 跑测试
现在:
> refactor lodash.get to optional chaining across the codebase
它就自己开始干活了——找文件、改代码、跑测试、汇报结果。我坐旁边喝了杯咖啡,回来已经改完 47 个文件,测试全绿。
注意:它不是每次都改对。有一次它把 lodash.get(obj, 'a.b.c', defaultValue) 改成了 obj?.a?.b?.c ?? defaultValue,但 defaultValue 是个函数调用,它没考虑到惰性求值的问题。所以**改完后一定要 review 关键改动**。
场景二:解释一段你完全看不懂的 legacy 代码
上个月接手一个同事离职前写的 Node.js 脚本,几百行,没注释,命名混乱到怀疑人生。我直接让 Claude Code 读完了整个文件,然后问:
> 解释这个脚本的职责,以及主要的数据流
它给我画了一个清晰的流程图,标注了每个函数的输入输出。比我自己啃了两天高效多了。
但要注意:**它解释的是代码"看起来"在做什么,不一定是"实际上"在做什么**。我后来发现它漏掉了一个边界条件——当输入为空数组时,脚本会直接 crash。所以解释完别全信,关键路径自己还是要过一遍。
场景三:生成测试用例,但别指望它覆盖所有场景
这个场景我用得最多,但期望值要放低。
> 给 src/utils/validator.ts 写单元测试,覆盖边界情况
它能生成一个结构完整的测试文件,覆盖 60-70% 的场景。剩下的 30%——那些真正的边界条件——还是需要你自己补。
我的 workflow 是:让它生成初稿 → 我 review 并补充遗漏场景 → 跑测试 → 让它根据失败的测试继续修。
踩过的坑
坑一:权限模式别开"acceptEdits"
默认权限模式是 default,每次编辑文件前会问你确认。acceptEdits 模式会直接改,看起来方便,但有一次它把我整个 package.json 的依赖版本改了,还美其名曰"帮你升级到最新兼容版本"。
我花了十分钟才恢复。这种模式只适合你在完全信任 AI 的小型玩具项目里用。
坑二:上下文窗口不是无限的
虽然 Claude 3.7 支持 200k token 上下文,但**项目越大,它的"注意力"越分散**。我有一个 300+ 文件的项目,让它"理解整个项目架构",结果它给的分析只有表面层次——因为它在 200k token 里塞了太多无关信息。
我的解法是:分模块对话。每次只让它在当前模块的上下文中工作,不要一上来就让它"看整个项目"。
坑三:它会"过度热情"
有个习惯让我很不爽:你让它改一个函数,它会顺手把旁边格式不对的文件也格式化一遍。不是坏事,但打断你的工作流。
解决方法:在 prompt 里明确说"只改我提到的部分,不要动其他代码"。虽然它不一定每次都听话,但比不说强。
什么情况下别用
一句话总结
Claude Code 是个强大的辅助工具,但不是替代你思考的魔法。把它当"效率放大器"——你本身对代码的理解越深,它放大的效果越好。反过来,如果你自己都不懂代码在做什么,AI 只会帮你更快地写出错误的东西。