Claude Code 使用心得,软件工程开发如何在 Claude Code 上实现

57 天前
 cexll

微信公众号地址,大佬们可以帮忙点点赞 https://mp.weixin.qq.com/s/FO0DdYGV6rVdQOfwPZPQfw

软件工程开发如何在 Claude Code 上实现

最近在折腾 Claude Code 的时候,发现这玩意儿确实能够系统性地解决软件开发中的问题。不是那种玩具级别的代码助手,而是真正能够从需求分析到代码部署全流程覆盖的工具。今天就来聊聊如何通过自定义命令把整个软件工程流程跑通。

核心思路:从文档驱动到代码实现

整个工作流的核心逻辑很简单:先把需求搞清楚,再写代码,最后验证。但实际操作中,大部分团队都是直接上手写代码,需求文档要么没有,要么写完就束之高阁。Claude Code 通过自定义命令可以强制执行这个流程。

主要工作流程

需求分析(/ask) → 代码实现(/code) → 测试用例(/test) → 代码审查(/review) → 优化调整(/optimize, /refactor)

这不是什么新鲜概念,但关键在于每个环节都有明确的输入输出,而且可以自动化执行。

核心命令详解

/ask - 需求分析和架构设计

这个命令的作用是把模糊的业务需求转化为技术文档。不是简单的问答,而是系统性的架构分析。

实际使用场景:

/ask 设计一个支持千万级用户的电商平台的微服务架构

输出会包含:

关键在于它会强制你思考那些平时容易忽略的问题,比如数据一致性、服务间通信、故障恢复等。输出的文档直接保存到docs目录,后续所有开发工作都以此为准。

/code - 从文档到代码实现

有了需求文档,/code命令会基于文档内容生成具体的代码实现。不是那种简单的代码片段,而是完整的、可运行的代码。

实际使用场景:

/code @/docs/points_system.md 基于技术方案文档生成代码

请一定要开启 Plan 模式

工作机制:

这里有个细节很重要:它不会凭空生成代码,而是基于你的项目上下文。比如你用的是 Spring Boot ,它就会生成 Spring Boot 风格的代码;你用的是 Node.js ,它就会生成 Express 风格的代码。

/test - 测试用例生成

测试驱动开发( TDD )说了这么多年,真正执行的团队不多。主要原因是写测试用例太费时间,而且很多开发者不知道该测什么。

/test命令解决的就是这个问题:

实际使用场景:

/test @/docs/points_system.md 基于技术方案文档生成单元测试

实际效果:如果你写了一个用户认证模块,它会自动生成:

/review - 文档与代码一致性检查

这是整个流程中最关键的一环。很多项目的问题就在于代码和文档不一致,时间长了就没人知道系统到底是怎么设计的。

实际使用场景:

/review @/docs/points_system.md 基于技术方案文档检查代码是否符合 列出不符合内容以及二次优化方案

/review命令会:

如果发现问题,会明确指出哪里不符合预期,以及具体的修改建议。

/optimize 和 /refactor - 问题修复和优化

/review发现问题后,就需要用这两个命令来修复:

实际使用场景:

/refactor @/docs/points_system.md 基于技术方案文档优化/重构代码

/optimize 主要处理性能问题:

/refactor 主要处理代码结构问题:

实际开发案例

举个具体例子,开发一个用户认证系统:

第一步:需求分析

/ask 设计支持 JWT 的用户认证系统,包含登录、注册、密码重置功能

输出文档包含:

第二步:代码实现

/code 实现用户认证系统的后端 API

生成完整的后端代码,包括:

第三步:测试用例

/test 用户认证功能的全面测试

自动生成:

第四步:代码审查

/review 用户认证模块

检查结果可能包括:

第五步:问题修复

/optimize 用户认证 API 性能优化

针对 review 发现的问题进行修复和优化。

实际使用体验

用了一段时间后,发现几个明显的好处:

1. 强制规范化流程不能再随意跳过文档和测试环节,因为后续的命令都依赖前面的输出。

2. 提高代码质量自动化的 review 能发现很多人工容易忽略的问题,特别是安全和性能方面。

3. 减少返工前期把需求和架构想清楚,后面写代码就很少需要大改。

4. 知识沉淀每个项目都有完整的文档记录,新人接手或者后期维护都很方便。

当然也有一些限制:

1. 学习成本需要适应这种工作方式,习惯了直接写代码的开发者可能不太适应。

2. 命令设计复杂每个命令的提示词都很长,需要仔细调优才能达到理想效果。

3. 上下文依赖命令之间有强依赖关系,中间某个环节出问题会影响后续流程。

4. LLM 上下文限制每个命令执行时必须要使用/clear清理上下文,否则被 Claude code 自动压缩后质量降低非常多。

自定义 commands 提示词文档 https://claude.ai/public/artifacts/e2725e41-cca5-48e5-9c15-6eab92012e75

2828 次点击
所在节点    程序员
16 条回复
cexll
57 天前
seeleywang123
57 天前
为什么我今天感觉他突然变傻了,跟 cursor 一样,给了计划开了深度思考,也是先改了再说
datiewang
57 天前
谢谢,正好今天刚开始用
sampeng
56 天前
@LiveId 在我看起来是在连续频繁的发广告。没有什么讨论价值
mokecc
56 天前
hex2en
56 天前
「 LLM 上下文限制每个命令执行时必须要使用/clear 清理上下文,否则被 Claude code 自动压缩后质量降低非常多。」
不经常使用/clear ,而是定期/compact 是否也可行?
hex2en
56 天前
以及对 clear 命令的一个担忧:我常常担心 clear 后我的上下文就完全没有了。后面都是我的猜想:导致我让 cc 去做一些任务时,是没有足够的上下文的。是否应该在 clear 之后重新 init ,更新 claude.md 文件?
ricklei2777
56 天前
@cexll 提个建议,OP 可以考虑把文章加一下到 README.md 文档,这样别人拿到 github 仓库网址也可为你提供流量~
kamisama
56 天前
@seeleywang123 是的。这两天都这个感觉,质量很差
cexll
56 天前
@seeleywang123 除非 claude 官方 api 降智,不然应该不会和 cursor 自己单独处理一次动手脚
cexll
56 天前
@hex2en 不行,如果你需要上下文可以将 session 的内容保存起来,然后开一个新的 session ,compact 之后是一种残缺的记忆 ,会变弱智
cexll
56 天前
@hex2en init 和当前 session memory 不一样
cexll
56 天前
@ricklei2777 好的,github 仓库只是方便兄弟们取
seeleywang123
56 天前
@kamisama 就这两天,之前不会,而且我用 poe 去跟 4 聊天也有感觉
magic3584
55 天前
虽然说是 TDD ,你这为啥还是先写代码再写的测试。。。
cexll
54 天前
@magic3584 因为这是后面要分享的内容了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1145887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX