Trae开发实战之转盘小程序

Trae的基本操作了解之后,就可以实战了。但是一直不知道做点什么。

上周四的时候突然想到做一个替我做选择的转盘小程序。比如,晚饭不知道吃什么时候,转一转就有答案了。需求如下: 这是一个微信小程序,为用户提供一个有趣的决策工具。小程序展示一个标题,有一个等分成12个区的马卡龙色系圆形转盘,每个区放一个答案。还有一个放在圆盘12点种位置的倒三角指针,用户可以滑动手势转动转盘,转动停止后,指针位置答案即为用户选中的结果。用户还可以修改标题,定制答案内容,并且可以增删答案项。

需求想好了,就可以开始干了,先用Wechart Devtools创一个JS空工程:

然后用Trae打开工程,在右侧builder输入生成转盘的具体需求:

然后Trae开始生成,等了好半天吧,终于给我生成了一个如下图的转盘小程序:

生成的有点糟啊!虽然颜色什么的符合要求了,但是转盘只显示了四分之一啊!试着用滑动手势转了一下转盘,直接报错了:

反手把错误码贴到给Trae:

等了一段时间后Trae提示了错误原因并给出了修改方案:

点击接受修改后,打开Wechart Devtools一看:虽然修改后报错没有了,可是转盘还是没有办法旋转。于是回到Trae告诉它手势没有起作用让它检查和修正。

然后开启新一轮等待.....修改完成后又报了新错误:

同样把错误复制给Trae,再次新一轮修改。如此反复了多轮,终于把报错清掉了。可是转盘却彻底显示不出来了。当天就暂时作罢。

第二天,我又试着想把程序调通,最后只是能把转盘转起来,但是显示四分之一的问题还是没有解决。

第三天,我想了想不是Trae不够聪明呢?打开Cursor,同样也创了一个空工程,然后输入需求让Cursor生成小程序看看效果。这次让Cursor生成两个面页,首页是转盘,设置按钮,点击设置按钮后可以进入设置页修改和定制转盘。

等待生成完毕之后,同样也还是有一些错误信息需要贴给Cursor修改正,最后首页的效果如下图,转盘转动也很顺畅:

设置页也基本是根据需求来的:

但是,Cursor做的这个小程序有一个致命的问题:每个扇区都是一个半圆型。这样导致从始至终只能看到最后绘制的选项。反复跟Cursor调试提示了很多轮,但是始终没有弄对。而且重新生成了几次还是类似的效果,只好又暂时作罢。

后来想了想,只有一段非结构性的小程序描述,也没有做详细设计,要求AI一次性提示生成没有一点问题的小程序也不现实。所以,最后决定返回Trae继续开发,并且改一下策略从头开始生成:第一步先是跟Trae进行几轮聊天模式对话,生成详细的设计文档。里面包含两个界面原型以及对应的功能及要求。

然后,根据需求文档,一个面页一个面页,一个一个功能提示Trae进行编码。每一步都进行功能的检查,每一步都像上面演示的调试过程一样,给Trae反馈错误,Trae进行修改,确保功能的正确。而且我发现Trae如果无法确定错误原因的时候,还会增加日志,要求你运行后将日志返回给它。这个过程和人工调试是类似的。

忙活了两天,今天终于完成了一个功能和显示都正常的转盘小程序:

在这个过程中还碰到一个比较棘手的问题,就是转盘停止后,弹窗提示的选中项跟实际转盘指针项不一致,多次提示Trae,进行多轮修改都没能改对。只好自己研究了一下生成的代码,人工修正了选中项的计算逻辑,但是还是有偏差。

最后,仔细检查了一下Trae输出的角度日志,发现当前保存的角度值和实际转动的角度值并不相符,比如显示转动了60度,实际却转动了120度。提示给Trae后,它终于发现是动画绘制部分角度累计计算造成的。

综上所述,AI开发确实可以让不太熟悉某类程序开发的人进行快速开发,不需要特别关注代码细节。但是,有一些问题还是需要人工介入,仔细观察,并给正确的错误现象。而且,在一步一步提示Trae生成代码然后Review的过程中,你会发现AI生成的代码不太考虑整体结构和跨文件公共代码抽取,会有很多重复和遗漏的点,而且有一些很明显会带来新隐藏BUG。这就需要程序员具有整体结构和抽象层面的能力,在生成过程中提示它做出正确的抽象和修正。这样能够在后期代码越来越多的时候仍然保证运行的正常。

好了,以上就是我这次Trae实战之旅的全过程!

关注「智践行」公众号,我们一起成长!

相关推荐
热爱编程的小曾6 分钟前
sqli-labs靶场 less 8
前端·数据库·less
gongzemin18 分钟前
React 和 Vue3 在事件传递的区别
前端·vue.js·react.js
Apifox30 分钟前
如何在 Apifox 中通过 Runner 运行包含云端数据库连接配置的测试场景
前端·后端·ci/cd
树上有只程序猿1 小时前
后端思维之高并发处理方案
前端
庸俗今天不摸鱼2 小时前
【万字总结】前端全方位性能优化指南(十)——自适应优化系统、遗传算法调参、Service Worker智能降级方案
前端·性能优化·webassembly
黄毛火烧雪下2 小时前
React Context API 用于在组件树中共享全局状态
前端·javascript·react.js
Apifox2 小时前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
一张假钞2 小时前
Firefox默认在新标签页打开收藏栏链接
前端·firefox
高达可以过山车不行2 小时前
Firefox账号同步书签不一致(火狐浏览器书签同步不一致)
前端·firefox
m0_593758102 小时前
firefox 136.0.4版本离线安装MarkDown插件
前端·firefox