Claude Code 基础用法

在日常开发中,我到底能用 Claude Code 干什么?

答案很简单:学代码、写代码、改代码

但前提是——你要学会如何正确地下指令。


用 Claude Code 学代码

Claude Code 最被低估的能力之一,并不是写得快,而是讲得清楚

在学习阶段,它更像一位耐心、不厌其烦、而且永远在线的高级同事

让 Claude 用新手能懂的方式解释代码

很多人问 Claude 的方式是:

这段代码什么意思?

这种问法得到的,往往是跳过关键细节的总结

更好的方式是明确目标人群

推荐提问方式

  • 请用新手能听懂的方式,解释这个函数的作用和执行流程
  • 假设我是刚学 Python,请解释这段代码中每一步在做什么

Claude 会自动:

  • 减少术语
  • 拆解抽象概念
  • 使用类比或伪代码辅助说明

建议:
不怕你问得菜,就怕你问得模糊。

对比不同实现方式

当你看到一段代码"能跑,但不确定是不是最优"时,可以这样问:

  • 这个功能有没有更清晰的实现方式?请给我 2–3 种对比
  • 对比一下现在的写法和使用函数式写法的区别

Claude 通常会从以下角度对比:

  • 可读性
  • 性能
  • 扩展性
  • 是否符合当前项目风格

初学者非常适合用这种方式建立代码审美

逐行讲解复杂逻辑

面对嵌套多、判断复杂的代码,可以直接要求"逐行拆解"。

  • 逐行解释这个函数,每一行说明它的输入、输出和副作用
  • 哪些地方是容易出 bug 的?

这类问题非常适合理解:

  • 复杂 if / else
  • 状态机逻辑
  • 老项目中的历史代码

用 Claude Code 写代码

写代码阶段,不要一上来就追求完美实现,而是从小而确定的需求开始。

从需求描述生成代码

低质量需求描述的典型特征是:
做一个 XX 功能。

高质量需求描述应该至少包含三点:

  1. 输入是什么
  2. 输出是什么
  3. 约束条件是什么

推荐提问方式

请用 Python 写一个函数:
- 输入:用户邮箱字符串
- 输出:是否为合法邮箱(True / False)
- 不依赖第三方库

Claude 会给出一个可运行、结构清晰的实现

写简单函数 / 模块

当需求稍微复杂一点时,明确告诉 Claude 边界在哪里。

  • 写一个独立的工具函数,不要依赖数据库或全局状态
  • 这个模块只负责数据转换,不要处理 IO

这样可以有效避免:

  • 过度设计
  • 职责混乱
  • 难以测试的代码

写测试用例

这是 Claude Code 非常适合初学者的一个使用场景。

  • 为这个函数补充单元测试,覆盖正常情况和边界情况
  • 使用当前项目已有的测试框架,不要引入新的库

Claude 会自动参考项目中已有测试风格,生成风格一致的测试代码

建议:
写代码不写测试,是最容易养成的坏习惯。


用 Claude Code 改代码

相比"写新代码",改代码反而更考验基本功

重构函数(不改行为)

重构时,一定要强调这句话:不改变现有行为。

在不改变现有逻辑的前提下,重构这个函数

Claude 会重点关注:

  • 重命名变量
  • 拆分逻辑块
  • 消除重复代码

提升可读性

可读性不是个人感觉,而是有明确标准的。

  • 提升这段代码的可读性,让新同事更容易理解
  • 哪些地方可以加注释或拆成小函数?

拆分大函数

初学者最常见的问题之一:一个函数干太多事

这个函数太长了,请帮我拆分成多个职责清晰的小函数

Claude 通常会:

  • 先识别逻辑边界
  • 再给出拆分方案
  • 最后应用修改

统一代码风格

当项目中风格混乱时,可以直接交给 Claude 做统一整理。

  • 按照当前项目的风格规范,统一这几个文件的代码风格
  • 不要改逻辑,只处理格式、命名和结构

常见高质量提问方式

Claude Code 的上限,取决于你的提问质量。

提问结构模板(强烈推荐)

一个稳定好用的提问模板:

背景:
(我现在在做什么)

目标:
(我希望达到什么效果)

约束:
(不能做什么 / 必须遵守什么)

输出要求:
(代码 / 解释 / 步骤)

好问题 vs 坏问题

坏问题:

帮我优化这段代码

好问题:

在不改变行为的前提下,优化这段代码的可读性,并说明你做了哪些改动

如何限制 Claude 的自由发挥

如果你不限制,Claude 会:

  • 自动补功能
  • 自动重构
  • 自动"帮你想更多"

学会提前设边界

  • 不要引入新库
  • 不要改变函数签名
  • 如果不确定,请先询问我

专业习惯:
把 Claude 当成执行力极强,但需要被约束的工程师。