加载中...
返回AI 编程实战
AI 编程知识库 · AI 编程实战 · 企业团队落地

单服务编码——AI辅助开发全流程

概念图

版本说明:本文基于 Claude Code 与 OpenCode 的编码实践撰写,适用于企业级开发团队。

技术版本:Java 17+、Spring Boot 3.x、Claude Code v2.1+、OpenCode v1.0+。案例代码使用 Java 17 语法(BigDecimal、Records 等),构建工具为 Maven。

适用对象:中高级开发者、技术负责人。

前置知识:第16篇代码考古、第17篇技术方案设计。

环境配置:案例代码基于以下环境——JDK 17(建议使用 Eclipse Temurin 或 OpenJDK),Spring Boot 3.2+,Maven 3.9+,构建命令 mvn clean install。AI 工具要求 Claude Code v2.1+(npm 全局安装)或 OpenCode v1.0+。

一、AI辅助编码的完整流程

前面两篇解决了"理解现有代码"和"设计技术方案"两个前置环节。本文进入真正的编码环节——把技术方案落地为可运行的代码。

Anthropic 的工程师 Addy Osmani 在其 2026 年 LLM 编码工作流文章中指出,Anthropic 内部约 90% 的代码由 Claude Code 辅助完成,核心方法是将编码过程拆分为规划、实现、验证三个阶段,而非让 AI 一次性生成整个功能 。DevConsole 的 2026 年 AI 辅助开发指南也强调了同样的观点:高效的 AI 编码不是"给一个需求,拿一段代码",而是结构化的多步协作 。

本文将 AI 辅助编码拆分为五个步骤:

任务分解 → 代码生成 → AI自检 → 人工Review → 提交

每一步都有明确的输入、输出和质量标准。用一个满减券的案例贯穿全文,展示从方案到代码的完整过程。

二、第一步:任务分解

为什么需要任务分解

直接让 AI "帮我写一个满减券功能",你会得到一段看似完整但经不起推敲的代码。原因很简单:AI 不知道你的项目规范、不知道哪些逻辑已经有了、不知道异常处理该做到什么程度。

任务分解的价值在于:把一个模糊的功能需求,拆成若干个边界清晰、可独立验证的小任务。每个任务都能在一个合理的范围内完成,AI 生成每个小任务的代码时,上下文更聚焦,质量更高。

分解原则

原则 说明 示例
单一职责 每个任务只做一件事 不要把"创建满减券"和"校验用户资格"混在一个任务里
可独立验证 每个任务完成后能单独测试 "满减计算逻辑"可以通过单元测试独立验证
依赖有序 明确任务之间的先后关系 先写数据模型,再写业务逻辑,最后写接口层
粒度适中 每个任务对应 30-60 行代码 太粗则 AI 容易遗漏细节,太细则增加协作成本

满减券案例的任务分解

假设技术方案已经确定了满减券的数据模型和接口设计。现在把"满减券功能"拆成具体任务:

序号 任务 产出 依赖
T1 创建 FullReduction 数据模型 实体类 数据库表 无
T2 实现满减计算策略类 FullReduction.java T1
T3 实现策略工厂注册 StrategyFactory 更新 T2
T4 实现满减券发放接口 Controller Service T3
T5 实现满减券核销接口 Controller Service T3
T6 编写单元测试 测试类 T2, T4, T5
T7 异常处理与日志完善 全部代码 T4, T5

关键技巧: 把任务列表以结构化文本的形式交给 AI,让它逐个完成。不要一次给所有任务,一次给一个任务,附带必要的上下文(相关代码、项目规范、接口定义)。

在 Claude Code 中操作:任务分解

下面演示在 Claude Code 中完成满减券任务分解的完整过程。

前置准备: 确保项目根目录已配置 CLAUDE.md(配置内容见第八章"坑 1"的应对方法),AI 启动时会自动加载项目上下文。

# 进入项目目录,启动 Claude Code
cd /path/to/coupon-service
claude

第一步:让 AI 读取技术方案并分解任务

在 Claude Code 中输入:

阅读 docs/design/满减券技术方案.md,根据方案中的数据模型和接口设计,将"满减券功能"拆分为具体的编码任务。按依赖顺序排列,每个任务标注产出物和依赖关系。

AI 的输出:

我已阅读技术方案,以下是任务分解:

| 序号 | 任务 | 产出 | 依赖 |
|------|------|------|------|
| T1 | 创建 FullReductionRule 数据模型 | 实体类  Mapper  DDL | 无 |
| T2 | 实现满减计算策略类 | FullReductionStrategy.java | T1 |
| T3 | 在策略工厂中注册新策略 | DiscountStrategyFactory.java 更新 | T2 |
| T4 | 实现满减券发放 Service | CouponService.issueFullReduction() | T3 |
| T5 | 实现满减券核销 Service | CouponService.redeemCoupon() | T3 |
| T6 | 实现发放和核销的 Controller 接口 | CouponController.java | T4, T5 |
| T7 | 编写单元测试 | 测试类 | T2, T4, T5 |

需要从 T1 开始执行吗?

第二步:确认后开始逐个执行

从 T1 开始。先生成实体类的代码框架(字段  注解  注释),不要直接写实现逻辑。

三、第二步:代码生成

先框架,后逻辑

拿到一个编码任务后,不要让 AI 直接写完整实现。分两步走:先生成代码框架,再填充业务逻辑。

在 Claude Code 中操作:生成满减券三层代码

下面用满减券案例,演示从 Service 层到 Controller 层的完整生成过程。

第一轮:生成 Service 层框架

请阅读 src/main/java/com/example/coupon/service/CouponService.java,基于已有的代码结构,为满减券发放功能添加方法签名和注释框架。要求:
1. 方法名:issueFullReduction
2. 入参:userId(Long)、ruleId(Long)
3. 出参:CouponDTO
4. 不要写实现逻辑,只写方法签名  注释

AI 的输出:

AI 编程知识库会员专享内容
开通后解锁「单服务编码——AI辅助开发全流程」全文,AI 编程知识库全年访问

扫码添加企业微信,找大熊掌门开通会员

企业微信二维码

添加后说明想开通的会员类型即可

加载中...