AI离我们还有多远----软件开发测试自从“被退休”之后,我也专心研究起现在的AI应用情况,就这几个月的试用情况下来,也有很多人问到我这块,是不是AI真的什么都很牛了,也有人觉得AI就是个噱头,根本干不了什么。因为一直以来,我都是从事软件产品分析和设计这块的工作,因此,当我“被多余”之后,我开始了第一件事情就是:试用Trae进行软件开发。一、需求简单的话2,生成的程序也会很简单,需要很长的调试时间。我先输入了非常的简单的需求:我需要一个可以进行录入中英文课文内容,试题,知识点,并可以自动生成选择题和填空题的软件程序。的确,Trae很快就执行分析了,而且自动设计了数据库后台字段,界面字段等,然后,进行自动编码。自动选了Sqlite作为数据库,创建了表格。等了半个小时左右,软件程序生成完成了,直接打开了。程序打开后,是将所有的功能都做在了一个窗体上,通过页签的形式进行分开显示课文内容,试题,知识点,生成试题等,也可以保存数据。但是,没有修改功能和删除功能。于是,我提出了修改建议,对界面设计也提出了要求,同时,要求可以增删改查课文内容,试题,知识点。这一次,Trae也是很快理解了修改内容,进行代码编写。可是,等到调试程序的时候,就是不停地出现错误,没法打开程序,这次花费了有一个多小时,才终于生成可以打开的程序。界面是根据需要进行了修改,但是,很多字段对应的组件都是相互重叠的,而且出现了背景是白色,字体也是白的,根本没法看。于是,我只好不停地说要怎么修改,前前后后花了十几个小时,终于是可以看得入眼了。次日,我总结了昨天的经验,便将需求文档写得比较清晰了,将程序分成几个窗体,每个窗体有哪些内容,有哪些操作等等都加上说明。然后,将文档内容给了Trae。这一次,Trae花费了1个小时的样子,生成了程序,但是,界面是没法看的,还是很多控件重叠在一起。可是,控件重叠,这个修改说明实在太难了,我前前后后花了四个小时叫它修改,还是很不满意,它总是修改不过来 。我只好去查看生成的程序代码,发现Trae没有生成.sln文件,不方便查看。于是,我回去叫Trae生成一个.sln文件,自己打开看看。这个倒是很快,里面就生成了一个.sln文件,可是,问题来了,VS2022根本打不开项目文档。只好再次跟Trae下了指令:需要支持VS2022可以打开项目文档。没想到,这个指令闯祸了,Trae整整前前后后花了2个小时才搞定这个问题。打开项目文档之后,我吃惊了:原来前端代码全部都是用的反射方式写的!我打开它,也没法很好地修改代码。这个项目程序,我看了几遍,觉得不好修改,直接放弃了。三、需求描述清楚,界面描述清楚,还得说清楚程序的组成架构次日,我还是有点不舍得放弃,因为毕竟网上都说得非常好,不可能就这样放弃,于是,开启我的第三次尝试。这一次,我在详细的需求说明上,再次增加了界面描述,以及要程序项目文档是做前后端分离开发,并要求了哪些内容做公共服务开发。写完这些要求,上午已经过去了2个半小时了。扔给了Trae后,它飞速地执行代码编写,才半个小时就做出来了。基本上都是满足要求的,后端程序文档结构也是非常清晰。用VS2022打开后,基本上都正常,但是,就是有几个前端文档死活打不开的。第一感觉,当然是找Trae自己搞定。没想到啊,真的没想到啊,它整整搞了一个下午,根本解决不了这个问题,还生成了很多测试的文件,最后,还是搞不定。没办法,只好自己一行行地检查代码,终于发现了是尺寸越界问题-----这种问题,我尝试了无数种的纠正命令,发现Trae根本搞不定了。即使后来我升级了版本,一样是搞不定的。我发现一个奇怪的地方就是:如果人为开发程序的话,前端界面只需要简单的拖拽就搞定了位置,但是,Trae等AI工具的话,都是后台写定位坐标,经常会出现越界的情况,然后,它们都根本检查不出来,也处理不了,只能不停地说,我已经修改了,你再试试。我在上面的几种方式的尝试之下,最后,只好祭出杀手锏:方式一:自己现在VS2022里面设计好界面,以及窗体之间跳转和打开关系,这个时候再交给Trae,这次Trae先直接读了我创建的项目文件,识别了界面上的字段和按钮,进行了简单的分析,然后,直接编码。这次,简直是非常成功,只要了一个小时,就将程序完美开发出来了,基本上没有需要修改的地方。方式二:写好了需求文档,再用Vxtrue设计了界面之后,将界面图片和需求文档都给了Trae。Trae的理解也比较快,很快就开始进行代码编写,花了一个半小时,出了第一版程序,界面布局和样式都跟设计图差不多,只是,点击按钮后,会出现一些奇怪的东西,只好再次输入命令进行调整。方式三:直接给了命令,参考XX软件,按照需求文档进行开发。这次Trae先花了几分钟的时间搜索XX软件,再读取需求文档,拆解需要功能,最后,花了一个小时左右,开发出来了第一版程序。这程序的风格简直跟XX软件是一模一样的。除了一些小毛病外,其实也挺好的。总的来说,AI编程能力是已经不用质疑的了,确实很快,也一定能编出可以成功运行的程序。只是一定要有比较详细的说明文档,对程序结构的要求,还有界面风格,都是要提供好,否则,再次要求修改的时候,AI也会跟真实的开发人员一样,修改一处,出现其他地方的bug,另外,针对前端界面的错误问题,最好自己动手修正,否则,真的很痛苦。