Back to Blog
Claude CodeTutorialDevTools

Claude Code in Practice: The Right Way to Use AI Coding Assistants

2026-04-1810 min

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,它不仅仅是一个代码补全工具,而是一个能够理解整个代码库、执行复杂任务的智能代理。本文将从安装配置到高级用法,全面介绍 Claude Code 的最佳实践。

安装与配置

安装

全局安装

npm install -g @anthropic-ai/claude-code

验证安装

claude --version

API Key 配置

方式一:环境变量(推荐)

export ANTHROPIC_API_KEY="sk-ant-xxx..."

方式二:首次运行时交互式配置

claude

首次启动会提示输入 API Key

基本配置

Claude Code 会自动读取当前目录的代码库,但你可以通过配置文件优化行为:

// .claude/config.json

{

"model": "claude-sonnet-4-20250514",

"permissions": {

"bash": true,

"write": true,

"read": true

},

"ignore": [

"node_modules/**",

".git/**",

"dist/**",

"*.log"

]

}

.claudeignore 文件用于排除不需要索引的文件:

.claudeignore

node_modules/

.git/

dist/

build/

*.pyc

__pycache__/

.env

.env.local

核心工作流

1. 代码生成

Claude Code 可以根据自然语言描述生成代码,它会自动理解项目上下文:

在终端中

claude

然后输入自然语言指令

> 创建一个 Express.js 的用户认证中间件,使用 JWT 验证

Claude Code 会:

  • 分析项目的依赖(检查 package.json)
  • 查看现有的中间件模式
  • 生成符合项目风格的代码
  • 自动创建文件
  • 2. 代码调试

    这是 Claude Code 最强大的功能之一:

    直接粘贴错误信息

    claude

    > TypeError: Cannot read properties of undefined (reading 'userId')

    at UserController.getProfile (src/controllers/user.ts:45:23)

    Claude Code 会:

  • 追踪错误栈
  • 分析 user.ts 第 45 行的上下文
  • 检查相关的类型定义和调用链
  • 提供修复方案
  • 3. 代码重构

    claude
    
    

    > 把 src/services/ 下所有的回调式 API 调用重构为 async/await

    Claude Code 会:

  • 扫描所有相关文件
  • 识别回调模式
  • 逐个文件重构
  • 确保类型安全
  • 4. 代码审查

    审查最近的更改

    claude

    > Review the changes I made in the last commit

    Claude Code 会读取 git diff,分析代码变更,指出:

  • 潜在的 bug
  • 性能问题
  • 安全隐患
  • 代码风格问题
  • 高级用法

    自定义指令(Custom Instructions)

    通过 .claude/instructions.md 文件定义项目的全局指令:

    项目开发规范

    代码风格

  • 使用 TypeScript 严格模式
  • 函数使用 camelCase,类使用 PascalCase
  • 所有公开函数必须有 JSDoc 注释
  • 测试要求

  • 新功能必须有对应的单元测试
  • 测试覆盖率不低于 80%
  • 使用 Jest 作为测试框架
  • 数据库规范

  • 所有查询使用参数化查询,禁止字符串拼接
  • 使用 Prisma 作为 ORM
  • 变更需要编写迁移脚本
  • Git 规范

  • 提交信息遵循 Conventional Commits
  • PR 需要至少一个 reviewer 批准
  • Claude Code 每次执行任务时都会参考这些指令,确保输出符合项目规范。

    MCP 集成

    Claude Code 原生支持 MCP 协议,可以连接外部工具:

    // ~/.claude/mcp.json
    

    {

    "mcpServers": {

    "github": {

    "command": "npx",

    "args": ["-y", "@modelcontextprotocol/server-github"],

    "env": {

    "GITHUB_TOKEN": "${GITHUB_TOKEN}"

    }

    },

    "postgres": {

    "command": "npx",

    "args": ["-y", "@modelcontextprotocol/server-postgres"],

    "env": {

    "DATABASE_URL": "${DATABASE_URL}"

    }

    },

    "playwright": {

    "command": "npx",

    "args": ["-y", "@anthropic/mcp-server-playwright"]

    }

    }

    }

    集成 MCP 后,Claude Code 的能力大幅扩展:

    claude
    
    

    > 查询数据库的 users 表结构,然后创建一个对应的 TypeScript 类型定义

    > 帮我创建一个 PR,修复 issue #123 中描述的登录 bug

    > 打开 localhost:3000,检查首页的加载性能

    项目级工具调用

    Claude Code 可以直接执行 shell 命令:

    claude
    
    

    > 运行测试,修复所有失败的用例

    Claude Code 会:

  • 执行 npm test 或项目配置的测试命令
  • 分析失败的测试
  • 定位并修复问题
  • 重新运行测试验证
  • claude
    
    

    > 分析 package.json 中的依赖,找出有安全漏洞的包并更新

    多文件编辑

    Claude Code 擅长处理跨文件的复杂修改:

    claude
    
    

    > 把用户认证逻辑从 controllers/auth.ts 抽取到 middleware/auth.ts,

    > 并更新所有引用的地方

    这涉及:

  • 创建新文件
  • 移动代码
  • 更新导入路径
  • 确保所有调用点正确
  • 实战项目示例

    示例 1:从零搭建 REST API

    mkdir my-api && cd my-api
    

    claude

    > 创建一个完整的 Express.js REST API 项目,包括:

    > - 用户注册和登录(JWT)

    > - CRUD 操作的博客文章

    > - PostgreSQL 数据库,使用 Prisma

    > - 输入验证使用 Zod

    > - 完整的错误处理中间件

    > - Docker 配置文件

    Claude Code 会生成完整的项目结构:

    my-api/
    

    ├── src/

    │ ├── controllers/

    │ │ ├── auth.controller.ts

    │ │ └── post.controller.ts

    │ ├── middleware/

    │ │ ├── auth.middleware.ts

    │ │ └── validation.middleware.ts

    │ ├── routes/

    │ │ ├── auth.routes.ts

    │ │ └── post.routes.ts

    │ ├── services/

    │ │ ├── auth.service.ts

    │ │ └── post.service.ts

    │ ├── utils/

    │ │ └── errors.ts

    │ └── app.ts

    ├── prisma/

    │ └── schema.prisma

    ├── tests/

    ├── docker-compose.yml

    ├── Dockerfile

    └── package.json

    示例 2:Bug 修复工作流

    claude
    
    

    > 用户报告了一个 bug:在创建文章时,如果标题包含特殊字符(如 emoji),

    > 数据库会报错。请定位并修复这个问题。

    Claude Code 的修复流程:

  • 搜索文章创建相关的代码
  • → 找到 src/controllers/post.controller.ts

  • 检查数据库 schema
  • → 读取 prisma/schema.prisma

    → 发现 title 字段使用了 varchar(255)

  • 检查编码设置
  • → 发现数据库使用了 utf8,但 emoji 需要 utf8mb4

  • 生成修复方案
  • → 更新 Prisma schema

    → 生成数据库迁移脚本

    → 添加输入验证

    示例 3:性能优化

    claude
    
    

    > 应用的 /api/posts 接口响应很慢,需要优化性能

    Claude Code 会:

  • 分析路由代码,找出数据库查询
  • → 发现 N+1 查询问题(先查文章,再逐个查作者)

  • 检查数据库索引
  • → 发现缺少 author_id 的索引

  • 提供优化方案
  • → 改为 join 查询

    → 添加数据库索引

    → 实现查询结果缓存

    提示技巧

    精确描述上下文

    不好的提示

    > fix this bug

    好的提示

    > 在 src/api/orders.ts 的第 156 行,当 order.total 为 null 时,

    > calculateTax 函数会抛出 TypeError。需要添加 null 检查,

    > 并在 total 为 null 时返回 0。

    指定约束条件

    > 重构这个函数以提升性能,但不能改变函数签名,
    

    > 因为有其他模块依赖这个接口

    逐步复杂化

    第一步:建立基础

    > 创建一个基本的 Express 服务器

    第二步:添加功能

    > 给服务器添加用户认证

    第三步:完善细节

    > 给认证添加 rate limiting 和 refresh token

    使用文件引用

    > 参考 src/utils/helpers.ts 中的错误处理模式,
    

    > 给 src/services/payment.ts 添加相同的处理

    常见问题

    Claude Code 无法索引大型项目

    // .claude/config.json
    

    {

    "indexing": {

    "maxFiles": 5000,

    "excludePatterns": ["vendor/", "third-party/"]

    }

    }

    权限问题

    如果 Claude Code 尝试执行危险操作:

    查看待执行的命令,确认后批准

    claude

    > 删除所有 .bak 文件

    [待批准] find . -name "*.bak" -delete

    是否执行?(y/n): y

    上下文窗口限制

    对于超大型文件,Claude Code 会自动分块处理。你也可以手动指定关注的文件范围:

    > 只关注 src/core/ 目录下的文件,分析依赖关系
    

    与其他工具的对比

    | 特性 | Claude Code | GitHub Copilot | Cursor |
    |------|-------------|----------------|--------|
    | 交互方式 | 终端 CLI | IDE 内联 | IDE GUI |
    | 代码库理解 | 完整项目 | 当前文件为主 | 项目级 |
    | 工具调用 | 支持 bash | 不支持 | 有限支持 |
    | MCP 支持 | 原生支持 | 不支持 | 不支持 |
    | 自定义指令 | .claude/instructions.md | .github/copilot-instructions | 项目设置 |
    | 适用场景 | 复杂重构、项目搭建 | 日常编码 | IDE 内开发 |

    总结

    Claude Code 代表了 AI 辅助编程的新范式——不是简单的代码补全,而是理解整个项目上下文的智能编程伙伴。

    核心价值:

  • 全项目理解:不只看当前文件,理解整个代码库的结构和关系
  • 复杂任务执行:能够处理多文件重构、架构调整等复杂任务
  • 工具集成:通过 MCP 连接数据库、Git、CI/CD 等外部系统
  • 可定制化:通过配置文件定义项目规范和约束
  • 最佳实践是将 Claude Code 视为团队中的高级工程师——给予清晰的需求描述,让它在你的约束范围内自由工作。