以Cursor、Windsurf为代表的AI工具在集成了IDE之后,确实为代码编写提供了更多便利。相信对于独立开发者或小型开发团队来说,感受会更加明显。对于中大型开发团队而言,在使用AI编码工具上还相对比较谨慎。猜测主要有以下几个原因:- 团队自身已具备相对较为成熟的开发规范,AI生成的代码结构、代码风格以及引入的包等可能不符合规范要求;
- 团队已有一定规模的存量历史代码,AI修改代码的范围不可预测,会带来额外风险;
- 商用代码对不可知风险的容忍度较低,AI生成代码的行为不透明,结果也不太可控,由此存在潜在不可预知的风险,并且在运行维护上也存在风险。
其实我也有类似的疑惑,AI编码工具究竟能否用于商用软件开发的实战?能为工程师提供多少助力?带着这个疑问,我使用Cursor和Windsurf模拟一位小白码农,开发了基于Spring Boot架构的订单下单流程。主要涉及环境搭建、数据库设计和建表、部署架构设计、代码实现、Code Review(含坏味道代码检查、功能完整性检查、代码逻辑错误检查)、单测编写、单测覆盖率提升、Git提交等环节。从实际表现来看,AI 能够零代码独立完成上述操作。甚至有几点表现超出了预期,对实际工作也很有意义: 一、连接终端 打通了终端操作能力的 AI实际上打通的是人与 PC 的交互。在这一能力的加持下,我们能够进行许多编码之外的操作。 二、Code Review 让 AI 检查代码,无论是编码规范、功能完整性检查,还是逻辑完整性检查,其都有着不俗的表现,相较人工也更加的高效。 三、部署架构设计 将性能需求、数据库存储等指标明确告知 AI 后,它可以完成多层系统架构以及分库分表的设计。 这次主要涉及的关键操作如下,详细过程后续我会逐一给出。在实际使用过程中也遇到了一些问题,对于这些问题的思考和建议我也会一并给出。 关键环节 | 关键活动 | AI独立完成 | |
---|
需求 | 编写User Story | 是 | | 环境搭建 | 安装OpenJDK | 是 | 小白知道有多烦,现在懂事的AI终于可以自己搞定了。 | 安装Maven | 是 | 增加Maven国内镜像 | 是 | 配置JDK、Maven环境变量 | 是 | 安装SQLite3 | 是 | 部署架构设计 | 编写系统部署架构 | 是 | | 数据库设计和建表 | 根据User Story生成数据库表 | 是 | | 分库分表 | 是 | | 代码实现 | 根据User Story生成下单功能代码 | 是 | 代码结构符合Spring项目约定风格,接口是RESTful风格 | CodeReview | 代码坏味道检查 | 是 | 可自行修复 | 功能完整性检查 | 是 | 可自行检查功能实现的完成性,并给出功能性和非功能性(日志、异常处理、安全、网络、数据安全等)改进建议和进行修复。 | 代码逻辑错误检查 | 是 | 可自行检查代码Bug,并给出改进建议和进行修复。 | 单测编写 | 生成单测 | 是 | | 生成单测覆盖率 | 是 | 行覆盖率、分支覆盖率 | 提升单测覆盖率 | 是 | 要求行覆盖率提升至90%以上,可自主完成 | 接口测试 | 生成自动化接口测试代码 | 是 | | 测试案例 | 根据UserStory编写测试案例 | 是 | | 根据测试案例生成思维导图 | 是 | | 根据测试案例生成执行计划 | 是 | | Git提交 | 提交至代码仓库 | 是 | |
|