找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

码农AI工具Cursor/Windsurf在复杂项目中的实践和思考

2024-12-30 14:20| 发布者: admin| 查看: 132| 评论: 0

摘要: 以Cursor、Windsurf为代表的AI工具在集成了IDE之后,确实为代码编写提供了更多便利。相信对于独立开发者或小型开发团队来说,感受会更加明显。
以Cursor、Windsurf为代表的AI工具在集成了IDE之后,确实为代码编写提供了更多便利。相信对于独立开发者或小型开发团队来说,感受会更加明显。
对于中大型开发团队而言,在使用AI编码工具上还相对比较谨慎。猜测主要有以下几个原因:
  1. 团队自身已具备相对较为成熟的开发规范,AI生成的代码结构、代码风格以及引入的包等可能不符合规范要求;
  2. 团队已有一定规模的存量历史代码,AI修改代码的范围不可预测,会带来额外风险;
  3. 商用代码对不可知风险的容忍度较低,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提交

提交至代码仓库

 



路过

雷人

握手

鲜花

鸡蛋
返回顶部