最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
从惊艳到困惑:AI结对编程实践全记录
时间:2026-05-22 09:30:01 编辑:袖梨 来源:一聚教程网

01 引言
深度体验AI编程助手CodeBuddy后,它在Spring Cloud项目中的表现令人印象深刻。本文将客观分享使用过程中的亮点与挑战,带您了解AI辅助开发的真实体验。
02 项目背景
项目采用主流微服务架构,具体技术环境如下:
- 架构设计:基于Spring Cloud实现模块化拆分,包含
api定义Feign接口、service业务实现和app控制器层 - 数据访问:采用MyBatis框架,支持Example动态SQL和XML两种方式
- 核心功能:重点开发用户关系管理、分页查询和验证码登录功能
- 技术选型:Spring Boot 2.7.18为基础,整合Feign、MyBatis、Guava和Lombok
项目通过逆向工程生成实体类,基于SpringBoot+SpringCloud架构重构分布式系统。
项目结构:

03 让人惊喜的4个优势
3.1 跨模块一致性维护能力
最突出的亮点在于多模块协同开发能力。微服务项目中,AI能自动完成:
- 在
api模块添加Feign接口的@RequestMapping - 在
service模块编写无注解的业务实现 - 在
app模块组装参数并调用服务
这种跨模块的上下文记忆能力远超传统代码补全工具,实现了完整的开发闭环。特别在逆向工程生成的代码改造中,能自动完成FeignClient生成和相关联代码同步修改。


3.2 工程化思维
AI展现出对项目结构的深刻理解。实现关注列表功能时,响应以下需求:
"查询关注列表,不要使用xml的方式,关注者姓名第一个字展示,后面是星号代替"
AI自动完成:
- 调用
uvmMemberFeignClient.selectIds()批量查询 - 通过
UvmMemberRole判断角色类型 - 创建
maskName()方法实现姓名脱敏
更可贵的是能识别团队编码规范,如分页必须使用example.setPagination(pagination),返回必须包装Pagination对象,确保代码可直接合并。
3.3 并行搜索
信息检索效率惊人。实现getFileListByObjectIds方法时,AI同步执行:
- 搜索
UvmFileInfoFeignClient.java - 搜索
UvmFileInfoServiceImpl.java - 全局验证
andObjectIdIn是否支持IN查询
三重验证确保10秒内给出精准方案。
3.4 快速纠错与模式适应
初期在Service实现类误加@RestController和@RequestMapping,经两次纠正后:
"清除实现类的requestmapping以及注解"
"实现类不需要requestmapping"
后续所有ServiceImpl生成都自动规避Web层注解,仅在Feign和Service接口保留必要注解,展现出优秀的反馈学习能力。
04 必须正视的2个问题
4.1 需要明确的"架构约束"输入
虽然能记忆项目结构,但AI不会自动推断团队规范:
- Service实现类禁止添加
@RequestMapping - Feign接口必须继承
GenericService - 强制使用Example模式替代手写XML
建议初次使用时,先用少量方法明确告知命名规范、注解规范和分层规范,比事后修正更高效。
4.2 复杂业务逻辑需要人工兜底
多表关联的复杂业务场景仍需人工验证。实现关注/回关逻辑时,需求如下:
"如果相互关注,需要更新之前的关注为已回关"
开发者必须确认:
followBack字段类型(查BaseModel确认为Boolean)- 互相关注判断方向(A关注B时检查B是否关注A)
- 删除策略(项目统一采用
del_flag软删除)
AI可生成基础代码,但业务正确性的最终责任仍属开发者,特别是涉及双向状态更新的场景必须逐行审查。
05 小小经验
5.1 分层指令
推荐分层渐进式开发:
Step 1: 在FeignClient定义接口+@RequestMapping
Step 2: 在ServiceImpl实现业务(不加Web注解)
Step 3: 在Controller组装参数并调用
分层开发保持焦点明确,便于代码审查。初期需适应提示词编写,但熟练后效率显著提升。
5.2 善用参考
通过参考现有代码可大幅提升效率。实现cancelFollow时只需提示:
"参考`uvmMemberFollowFeignClient.follow`方法"
AI即自动理解幂等校验、软删除、状态更新等逻辑,比从零描述更高效。
5.3 明确告知"不要做什么"
必须明确禁止某些做法:
- 禁止使用XML方式
- 禁止在实现类添加
RequestMapping - 禁止新建Mapper方法,强制使用
Example
单表查询优先使用动态SQL,避免手写XML。
5.4 引用文件
直接引用文件可节省token消耗,帮助AI快速定位待修改方法,避免全工程扫描。

5.5 会话聚焦
建议会话围绕单一模块或功能展开,避免在无关文件间频繁切换,保持上下文连贯性。
06 小结
AI编程助手重新定义了开发效率,将开发者从重复劳动中解放,更专注于业务逻辑设计、性能优化和架构审查。建议从小功能闭环开始体验,当感受到"描述即得代码"的高效后,这种开发方式将不可或缺。
相关文章
- ChatGPT之父为何被解雇?背后3个真相 05-22
- ChatGPT读法怎么读才对?3种读音一次搞清 05-22
- 游戏里的数据玩家指的是什么?5个核心特征让你快速识别 05-22
- HTML组件化:基础标签到高级应用视图的演进之路 05-22
- OpenProcessToken在系统安全漏洞中的角色分析 05-22
- Debian系统维护中CPUInfo工具的使用方法与技巧 05-22