Claude Code 是Anthropic公司推出的AI编程辅助工具,基于大语言模型训练而成,专注于为开发者提供"需求转代码"、"代码调试"、"代码优化"、"技术问答"等全流程编程支持。它区别于普通的代码编辑器插件,具备更强的上下文理解能力,能精准捕捉开发者的需求意图,生成符合规范、可直接运行的代码,同时支持多编程语言、多开发场景,大幅降低编程门槛、提升开发效率。
开发环境:Ubuntu24.04,Claude code 2.1.177,deepseek-v4-flash模型
案例一:Python 数据处理------批量处理Excel文件
在日常的数据处理工作中,我们经常会遇到需要从多个零散的 Excel 文件中提取、清洗并汇总数据的场景。如果纯靠手工复制粘贴,不仅耗时耗力,还容易出错。
本案例将从一个实际的"学生成绩汇总"需求出发,完整演示从需求分析、AI 提示词构建、代码生成到本地测试调整的全过程。
1. 需求分析
假设我们接到了这样一个任务: 在本地存在一个名为 Studentdata 的文件夹,里面存放了多个 .xlsx 格式的 Excel 文件。每个文件记录了不同班级的学生信息,包含"姓名、年龄、班级、成绩"四列。
我们需要实现以下目标:
- 批量读取:遍历并读取该文件夹下的所有 Excel 文件。
- 数据清洗与筛选 :找出所有成绩 ≥80分 的优秀学生。
- 合并导出 :将筛选后的数据拼接到一起,并导出为一个名为
优秀学生.xlsx的新文件,存回原文件夹。 - 健壮性要求(异常处理) :脚本必须能应对各种突发状况,例如:目标文件夹不存在、个别文件缺少"成绩"列、或者成绩数据被填成了非数字字符等。
明确了需求后,我们就可以借助 Claude Code CLI 来快速生成生产级别的代码了。
2. 环境准备与操作流程
(1)初始化工作目录
创建项目文件夹 Studentdata :
bash
mkdir -p ~/claude_code/Studentdata
cd ~/claude_code
在 Studentdata 文件夹内放入三个.xlsx文件。
正常数据.xlsx
| 姓名 | 年龄 | 班级 | 成绩 |
|---|---|---|---|
| 张三 | 18 | 一班 | 85 |
| 李四 | 19 | 一班 | 72 |
| 王五 | 18 | 二班 | 90 |
| 赵六 | 20 | 二班 | 65 |
| 孙七 | 19 | 三班 | 88 |
缺失列.xlsx
| 姓名 | 年龄 | 班级 |
|---|---|---|
| 周八 | 18 | 四班 |
| 吴九 | 19 | 四班 |
脏数据.xlsx
| 姓名 | 年龄 | 班级 | 成绩 |
|---|---|---|---|
| 郑十 | 18 | 五班 | 92 |
| 陈十一 | 19 | 五班 | 缺考 |
| 林十二 | 20 | 六班 | N/A |
| 黄十三 | 18 | 六班 | 75 |
| 刘十四 | 19 | 七班 | 81 |
(2)启动 Claude Code CLI 并输入提示词
启动claude code cli并在交互界面输入以下提示词:
markdown
"请编写一个 Python 脚本来批量处理 Excel 文件,并实现一个'开发-运行-验证'的闭环。
核心需求:
1. 读取当前目录下'Studentdata'文件夹内所有.xlsx文件。
2. 筛选出成绩≥80分的学生。
3. 将结果合并并保存为'Studentdata/优秀学生.xlsx'。
4. 必须处理:文件夹不存在、无'成绩'列、成绩非数字(转为数值或丢弃)的情况。
闭环迭代要求:
1. 代码编写:请先生成完整的 Python 代码。
2. 自我测试:请在生成的代码后,紧跟一段'测试验证逻辑'(例如:如果文件未生成,打印报错;如果文件已生成,读取并打印前5行数据以确认列名和成绩)。
3. 运行与验证:编写完成后,请使用 `/run` 指令执行该脚本。
4. 反馈修正:
- 如果运行报错,请根据终端输出的错误信息,直接修正代码并重新运行。
- 如果脚本运行成功,请读取生成的'优秀学生.xlsx'的概况(使用 `pd.read_excel().head()`),判断是否符合筛选逻辑(检查成绩列是否全≥80)。
- 若结果不符合要求,请分析原因并重新修改代码,直到验证通过。
请开始编写代码并执行第一次验证。"
(3)Claude Code CLI 完成结果
claude交互端输出如下:


使用 LibreOffice Calc 查看 优秀学生.xlsx

案例二:JavaScript 网页交互------点击按钮实现页面切换
在案例二中,我们将视线转向前端开发,挑战一个经典的"JavaScript 网页交互"实战案例:多页面平滑切换。
前端开发往往涉及 HTML、CSS 和 JS 的繁杂配合,手写基础结构和动画效果不仅费时,还容易在响应式适配上踩坑。我们将通过 Claude Code CLI,从零构建一个带淡入淡出动画、适配移动端的单文件应用。
1. 需求分析
我们本次要实现的是一个轻量级的"三页合一"展示型网页,具体需求如下:
- 页面构成:包含"首页"、"关于我们"、"联系我们"三个逻辑页面。
- 交互逻辑:提供 3 个导航按钮,点击后平滑切换到对应的页面内容。
- 视觉动效 :切换时需有"淡入淡出"的过渡效果;按钮需具备
hover悬停反馈;标题居中显示。 - 终端适配:要求代码具备响应式布局(Responsive Design),在普通电脑屏幕和手机端都能完美显示。
- 工程规范:HTML、CSS、JS 代码结构清晰、分离编写,并附带详细中文注释。最终整合输出,确保双击即可在浏览器直接运行。
2. 环境准备与操作流程
(1)创建项目空间
bash
mkdir -p ~/2-web_interactive_project
cd ~/2-web_interactive_project
(2)启动 Claude Code CLI 并输入提示词
markdown
"请协助我开发一个单文件网页 `page-switch.html`,实现页面切换交互。
核心需求:
1. 结构:整合 HTML、CSS 和 JavaScript。包含首页、关于我们、联系我们,且适配移动端响应式布局。
2. 效果:按钮需有 hover 反馈;页面切换需实现 0.5s 平滑的淡入淡出(使用 CSS `opacity` 和 `transition`)。
3. 布局:页面标题居中,导航在移动端自动折叠或堆叠。
闭环测试与迭代指令:
1. 代码生成:请先生成完整的单文件代码,并保存为 `page-switch.html`。
2. 自动测试逻辑:
- 使用 `/run` 指令在后台尝试启动一个简单的 Python HTTP 服务器(`python3 -m http.server 8000`),以便后续通过 localhost 访问。
- **自我验证**:请检查页面 HTML 结构是否包含对应的 ID/Class。如果代码中有逻辑错误,请根据 HTML 结构修正 JS 事件绑定。
3. 迭代反馈:
- 如果你在执行测试时发现无法切换页面,或者页面布局不响应,请自动分析 CSS 类名错误或 JS 元素查找失败的原因。
- 请重新修改代码并覆盖原文件,直到确保页面切换功能符合需求。
4. 最终输出:
- 迭代测试通过后,请告知我:'测试成功,页面已准备就绪'。
- 给出完整的代码块,并提供如何在 Ubuntu 终端通过 `firefox page-switch.html` 打开预览的指引。"
(3)Claude Code CLI 完成结果
claude交互端输出如下:


通过 firefox /home/daviddou/claude_code/2-web_interactive-project/page-switch.html 指令可以打开网页进行查看。
生成的网页效果如下:


案例三:Java 基础------实现学生信息管理系统(简单版)
对于刚接触 Java 面向对象编程(OOP)的开发者来说,手写实体类、管理集合、处理控制台输入异常往往是一个需要反复调试的过程。本例将演示如何在 Ubuntu 环境下,利用 Claude Code CLI 快速搭建一个包含"增、查、删"功能的简单版学生信息管理系统,并完成本地编译与异常测试。
1. 需求分析
我们要开发的是一个基于控制台(Console)交互的纯 Java 应用程序。为了让系统具备一定的健壮性和规范性,我们设定了以下核心需求:
- 功能完备:支持添加学生(姓名、学号、年龄)、查询所有学生(按学号升序)、根据学号删除学生。
- 交互设计:通过控制台打印菜单,用户输入数字(1-4)进行功能选择与系统退出。
- 工程规范 :严格使用面向对象思想 ,将学生抽象为独立的
Student类,并与主程序逻辑解耦。代码需附带详细注释。 - 健壮性要求(异常处理) :在用户输入非数字、添加重复学号、删除不存在的学号或年龄输入为负数时,系统不能崩溃,必须给出友好的错误提示并允许重新输入。
2. 环境准备与操作流程
(1)创建项目空间
bash
mkdir -p ~/3-java_student_system
cd ~/3-java_student_system
# 检查 javac 是否安装(若未安装可通过 sudo apt install default-jdk 安装)
javac -version
(2)启动 Claude Code CLI 并输入提示词
markdown
"请协助我开发一个 Java 学生信息管理系统 `StudentManagementSystem.java`,并实现自动化测试闭环。
核心需求:
1. 功能:实现 Student 类(姓名、学号、年龄)及管理系统,支持添加、查询(学号排序)、删除。
2. 健壮性:处理输入非数字、学号重复、删除不存在学号、负数年龄等异常。
3. 单文件整合:所有代码逻辑放在同一个 Java 文件中。
自动化测试闭环要求:
1. 编写测试样例:请在完成 Java 代码后,创建一个名为 `test_script.txt` 的输入文件,里面写入一系列模拟用户操作的指令(例如:添加学生->输入数据->查询->删除->异常测试->退出)。
2. 自动化运行:
- 使用 `/run` 指令执行编译命令:`javac StudentManagementSystem.java`。
- 使用 `/run` 指令执行测试:`java StudentManagementSystem < test_script.txt > test_output.txt`。
3. 结果验证与迭代:
- 请使用 `/read` 指令读取 `test_output.txt`。
- 分析逻辑:如果输出结果中包含错误提示(如'添加失败'、'非法输入'等)且不符合预期,或程序崩溃,请自动分析代码逻辑中的错误(如 Scanner 缓冲区清理不当、逻辑判断错误等)。
- 迭代修改:根据分析结果直接修改 `StudentManagementSystem.java` 并覆盖,重复上述测试过程,直到 `test_output.txt` 中的输出完全符合预期。
4. 最终交付:确认测试通过后,请通知我,并提供编译运行指令。"
(3)Claude Code CLI 完成结果




案例4:Go 基础------实现简单的HTTP接口
在微服务和后端开发领域,Go 语言以其极高的并发性能和极简的语法备受青睐。本例中我们将利用 Claude Code CLI 在 Ubuntu 终端中"结对编程",仅凭 Go 语言自带的 net/http 标准库,开发一个简单但五脏俱全的用户信息管理接口。
1. 需求分析
我们要实现的是一个轻量级的 HTTP 接口服务,通过切片(Slice)在内存中模拟数据库存储。具体需求如下:
-
核心接口:
GET /users:获取所有用户信息。GET /users/{id}:根据动态 ID 获取单个用户信息。POST /users:添加新用户(接收 JSON 格式数据)。
-
数据规范 :请求与响应均采用 JSON 格式,成功返回 200,并附带规范的
code,msg,data结构。 -
异常捕获:需妥善处理各种异常,例如请求参数解析失败返回 400,找不到用户返回 404,请求方法不支持返回 405。
-
工程规范:代码结构清晰,附带详细注释。
-
中间件支持:添加一个全局的日志中间件(Middleware),拦截并打印每个接口的请求方法、路径和时间。
2. 环境准备与操作流程
(1)初始化 Go 项目
bash
mkdir -p ~/4-go_http_api
cd ~/4-go_http_api
go mod init go_http_api
(2)启动 Claude Code CLI 并输入提示词
markdown
"请协助我开发一个 Go HTTP 服务 `main.go`,并实现自动化测试闭环。
核心需求:
1. 功能:使用 `net/http` 原生包实现 `GET /users`, `GET /users/{id}`, `POST /users` 接口,支持 JSON 响应,包含日志中间件。
2. 健壮性:妥善处理方法错误、参数无效、ID 不存在等异常。
自动化测试闭环要求:
1. 编写测试样例:请在完成 `main.go` 后,创建一个名为 `test_api.sh` 的 Shell 脚本,利用 `curl` 命令对上述 3 个接口进行完整性测试(包含正常场景和异常场景,如发送非法 ID、非法方法)。
2. 自动化运行:
- 使用 `/run` 指令在后台启动服务:`go run main.go &`(并记录进程 ID 以便后续关闭)。
- 使用 `/run` 指令执行测试脚本:`bash test_api.sh > test_results.txt`。
3. 结果验证与迭代:
- 请使用 `/read` 指令读取 `test_results.txt`。
- 分析逻辑**:检查测试结果是否符合预期(例如:POST 是否返回 200,错误请求是否返回 400/404/405)。
- **迭代修改**:如果测试脚本反馈失败,请自动分析原因并直接修改 `main.go` 源码,覆盖旧版本,然后重复测试步骤,直到所有测试用例通过。
4. 最终交付:确认测试完全通过后,请自动关闭后台运行的服务,并告知我:'测试成功,代码已生成并验证',同时提供 `go run main.go` 的启动指令。"
(3)Claude Code CLI 完成结果

