Claude Code 实战:它如何改变了我的编码方式

不是代码补全,也不是聊天窗口——Claude Code 是一个真正能读懂项目上下文的工程师伙伴。


用了三个月 Claude Code,我需要说实话:它不是一个更好的 Copilot。

Copilot 是补全工具,预测你下一行代码。Claude Code 是对话式代理,它可以读整个仓库、修改多个文件、运行命令、查看报错再修复——然后问你”这样对吗?”

这个差异,刚开始用的时候很难感受到。但一旦感受到,就很难回头。

它真正擅长什么

1. 理解上下文,而不只是光标位置

我在 andy-hub 里加了一个新的 Astro 组件,告诉 Claude Code:“帮我在首页 CardGitHub 上面加一个横向滚动的照片条。”

它打开了 src/pages/index.astrosrc/styles/cards.csssrc/content.config.tssrc/lib/photos.ts——我什么都没说,它自己判断这些文件是相关的。然后一次性生成了:

  • 新组件 CardPhotos.astro
  • 对应的 CSS 样式(用了我已有的 --accent-rgb 变量)
  • 更新后的 index.astro import 和插入位置

这是 Copilot 做不到的,因为 Copilot 不知道你的 CSS 变量叫什么。

2. 调试循环

$ claude
> 构建报 TypeScript 错误,能帮我看看吗?

它会直接跑 pnpm build,看报错,找到文件,修改,再跑一次。这个循环比我手动来快很多,因为它不会因为”哦,我漏掉了第二个错误”而跑来跑去。

3. 写测试的耐心

我很懒,不爱写测试。Claude Code 会的。你告诉它”给这个函数写 edge case 测试”,它会写出比你自己会写的更全的测试——包括 null 输入、边界值、类型错误的情况。

几个让我惊讶的细节

它会记得你说过的限制。 我在对话开头说”不要用 any 类型”,它整个对话里的所有代码改动都不会用 any。

它会主动指出你没问的问题。 修一个 bug 的时候,它说”我注意到这里还有一个潜在的竞态条件,要一起修吗?“通常它是对的。

它对风格敏感。 读了你的代码一会儿,它写出来的代码风格会开始像你的——缩进、命名习惯、注释风格。

实际工作流

我现在的日常:

早上 → 在 terminal 里 `claude` 起一个 session
→ 告诉它今天要做什么(概述)
→ 开始一条一条做
→ 每做完一个任务,让它帮我写 commit message

最有价值的场景是陌生代码库。接手别人的项目,让 Claude Code 先读一遍,问它”这里的 useSession 是怎么工作的?“——比我自己 grep 快得多。

局限性

它会产生幻觉,尤其是在它不确定某个 API 是否存在的时候。比如它告诉我某个 Cloudflare Workers API 支持某个方法,但实际上不支持。所以所有它生成的代码,你还是要读一遍

另一个限制:它不擅长长期规划。“帮我把整个认证系统重构”这种任务,你需要自己拆解成小步骤,然后一步步给它做。

结论

Claude Code 最好的状态,是你和它配对编程——你负责方向和判断,它负责执行和细节。这个分工让我快了很多,也让我更专注于真正需要思考的部分。


本文基于 Claude Code CLI v1.x,Anthropic 的工具更新很快,部分细节可能已变化。


← all posts

Comments

Tip: select text in the article to add an inline annotation ✦