AIUnlimited
🌳

AI基础

🌱
AI 种子

从零开始

🌿
AI 萌芽

打好基础

🌳
AI 枝干

付诸实践

🏕️
AI 树冠

深入探索

🌲
AI 森林

精通AI

🔨

AI精通

✏️
AI 草图

从零开始

🪨
AI 雕刻

打好基础

⚒️
AI 匠心

付诸实践

💎
AI 打磨

深入探索

🏆
AI 杰作

精通AI

📘

AI实战

📖
理解开源模型

开源模型的基础知识和资源

🎯
问题到模型任务

将业务问题转化为模型任务

⚡
跑通第一个模型

30分钟快速看到第一个结果

🔧
微调与评测

微调模型并评估性能

🚀
应用系统

构建实际AI应用系统

🎨
生成式AI

探索AIGC的开源模型

🤖
Agent智能体

学习Agent框架和MCP工具

📐
基础补充

LLM基础知识和评测

🎓

Claude 学院

🤖
Claude 101 入门

用 Claude 学习 AI 基础知识

💻
Claude Code 101 入门

让 Claude 成为你的结对编程伙伴

🤝
Claude Cowork 入门

与 Claude 协作完成复杂项目

⚙️
Claude 平台 101

使用 Claude API 构建应用

实验室

已加载 7 个实验
🧬神经网络沙盒🤖AI 还是人类?🥋提示工程道场🏁算法竞速🧠AI 知识挑战🏗️系统设计画布
🎯模拟面试进入实验室→
🚀

职业发展

🚀
面试发射台

开启你的旅程

🌟
行为面试精通

掌握软技能

💻
技术面试

通过编程轮次

🤖
AI与ML面试

ML面试精通

🏆
Offer与未来

拿下最好的Offer

立即开始
AIUnlimited

AI 教育平台

沪ICP备18025655号-11

学习

  • AI基础
  • AI实战
  • Claude学院
  • 实验室
  • 职业发展

社区

  • 关于
  • 常见问题

支持

  • 服务条款
  • 隐私政策
  • 联系我们
AI & 工程学习计划›💻 Claude Code 101 入门›课程›代码审查
🔍
Claude Code 101 入门 • 中级⏱️ 10 分钟阅读

代码审查

代码审查

当你给 Claude Code 一个在代码库中完成的任务时,Claude 通常会以简洁的方式报告结果。在 Claude 所做更改的描述之下,可能有各种文件被更改(从小到大的更改)。通常,编写代码更改本身(并解释它们)的会话并不是这些更改的最佳审查者。最好在保留更改之前自己查看每个更改,然后让 Claude 在没有此会话历史记录的干净上下文中再次审查。

审查实际更改

差异是更改的前后对比:逐文件显示删除的行和添加的行。/diff 命令以该形式打开未提交更改的交互式查看器,还可以显示 Claude 每次对话更改了什么。使用上下箭头在文件间移动,按 Enter 打开文件。

/diff

每次最值得关注的事项:

  • 你没有要求的更改。 Claude 在编辑文件时修改的配置值或重写的你没有提到的辅助方法。
  • 变弱的测试。 如果你的项目包含测试,识别任何被跳过、删除或放宽直到通过的测试。
  • 新包和硬编码值。 仅为一个函数添加的依赖项、直接写入代码的 URL 或密钥。

如果整个更改是错误的,运行 /rewind(或在空提示上按两次 Esc),选择产生它的提示,然后选择 恢复代码和对话。一个值得了解的限制:Claude 运行的 shell 命令(如包安装)更改的文件不会被回滚。

寻求第二意见

探索 → 计划 → 编码 → 提交课程说过在提交之前让第二个审查者审查更改。长会话包含它读取和决定的所有内容。这就是你在上一节课中学到的上下文,也正是你不希望审查者拥有的历史记录。/code-review 就是那个第二审查者:它在干净的上下文中审查更改,没有你的会话历史记录,并报告发现的问题。除非你要求,否则它不会编辑任何内容。

/code-review

审查在后台运行,从几秒到几分钟不等,与其他任何任务一样计入你的使用量,所以将其留给值得第二眼的更改。发现结果会在完成时到达你的对话中。你也可以用普通语言询问,Claude 可以从该请求开始相同的审查。如果 Claude 直接回答而不是开始审查,自己运行该命令。

审查你刚才做的更改。报告问题;暂时不要修复任何内容。

决定如何处理每个发现

将每个发现分为三类之一:

  1. 立即修复。 这是一个真正的问题,很重要,必须修复。
  2. 询问原因。 这是你无法完全验证或似乎不对的发现。冷读代码更改的审查者也可能遗漏内容。
  3. 暂时搁置。 这是一个真正的问题但很小或无关紧要。这些通常可以批量成一组修复,在未来的某次会话中处理。

要询问原因,将发现引用回 Claude 并要求 Claude 再次检查。对于上面第二个发现,你可以输入:

你报告说 isValidEmail 没有修剪空格,但第 4 行调用了 trim()。再次检查并告诉我该发现是否成立。

每当你要求修复时,最好同时要求提供证据:

修复第一个发现:不要跳过空邮箱测试并恢复原始断言。然后运行测试并显示输出。
第 12 课,共 23 课已完成 0%
←用 Claude Code 调试

讨论

登录 参与讨论

如果修复最终变成一个大的更改,再次运行审查。

何时需要更仔细地审查

简单的单行更改通常只需要快速查看差异。当更改大到你无法在脑中记住、涉及敏感内容或执行破坏性操作,以及在将工作交给团队成员之前,你应该使用人工审查和 Claude 审查。

回顾

  • 在信任摘要之前,先读取文件更改的实际差异。运行 /diff 并查找你没有要求的更改、变弱的测试以及新包或硬编码值。
  • 使用 /code-review 从干净上下文中获取第二意见(或用普通语言询问并让 Claude 开始)。审查者报告,Claude 不会编辑除非你要求。
  • 将每个发现视为立即修复、询问原因或暂时搁置,并在每次修复时要求提供证据。