背景
一直想写,但是太忙了,用CodeBuddy新开发iOSAPP,又同时想做鸿蒙APP,好家伙,是真的忙不过来。
先说体验:我觉得CodeBuddy是最厉害的,(在座的谁赞成,谁反对),🤪,就这么说吧,我用过Trae,Cursor, Windsurf,还申请了Kiro,综合下来,我觉得目前CodeBuddy对于我来说是最厉害的。
我最早用的是Trae,一开始国际版我就用了,使用期间开发了一个app吧,用着用着就智障了,就是本来好好沟通着,突然就感觉对方变傻了,还把项目修改坏了,辛辛苦苦干了好几天,一下子回到解放前了……如果是用量达标,我倒是宁可他提醒我用量达标,也不希望换成一个傻子,就像你跟一个人聊得正投缘,觉得是知己,突然间她流着口水变成了傻子,这换谁也接受不了啊🤣
噢噢,忘了说背景,我是用这些工具做app开发,从头开始开发。所以上面的体验仅供参考。
优点
先说优点:
- 开发快速,只需要说一句话,就能快速搭建一个APP的框架,实现基本功能。
- 不依赖语言,通过类似的工具,模糊了开发语言的鸿沟,不必说必须学会了某个开发语言,才能开发某种APP或网站,初步能实现”任何人只要有想法,都可以开发任何东西”(Ps: 这点后面会有补充)。
- 代码质量有保证,告诉它实现时需要注意什么,遵循什么原则,它实现的时候就能自动完成。
- 报错容易解决,只需要把错误信息丢给它,它就能告诉自己解决。
比如,一个简单的想法就可以开工。比如:开发《哈哈狗记账》的时候,脑子里只有一个想法,就是按照吃穿住行分类,做一个记账APP,数据能够同步到iCloud,界面没有设计,只有一个大致想法。如果没有CodeBuddy,我可能要先想好有哪些界面,界面都设计好,然后才开始做。但是依靠CodeBuddy,我把我的想法告诉它,然后让它自己实现,要求UI符合常见视觉效果,然后我只需要修改下逻辑,就完成了。
再比如,开发《哈哈简笔画》,是因为每次去盒马,我家小孩喜欢门口的投币绘画机,每次绘画三个币,然后每次都是买几十个币,当时是真的不感觉心疼,但是又觉得每次都买那么多,有点浪费,所以就想着做一个APP,可以自己选择绘画内容,然后自己投币,这样在手机上在Pad都可以画,就方便很多。但是构思简笔画的逻辑,和金币的逻辑,还是有点麻烦,但是CodeBuddy可以帮我实现,我只需要修改下逻辑,就完成了。
不足
然后说不足,这些AI编码工具很厉害,但是有些东西还是需要人工来,比如下面类似的场景:
- 需要配置的地方,比如鸿蒙的打包、权限申请、iCloud的CloudKit的创建和配置;
比如让它开发一个鸿蒙app没问题,但是实现的权限配置里,少了几个字段,导致编译失败,它自己检查不出来,就很尴尬了😅,最后还是要去浏览器里搜索手动解决
再比如做《哈哈狗记账》的时候,需要同步数据到iCloud,它可以在本地把所有字段都定义好,逻辑都写好,但是它不能帮人打开CloudKit去配置里面的东西,就是如果你不懂iOS开发,你会发现,它写的项目看起来没问题但是iCloud同步就是不生效。Ps:(吐槽一下,前几天看到有人说“所有个人开发者的app他都不用,因为都能从后台看到数据”……哥们,你说个人开发者容易跑路我认,但是能看到数据,这锅不背,辟谣一下:CloudKit同步数据有两种一种是public database,一种是private database,public database里的数据是能看到的,private database 里的数据是看不到的,基本上开发都是用的private database。 - 修改具体代码逻辑的地方,还是人直接上手简单快速。
比如改下颜色、间距,或者让它自由发挥从零开始做一个新东西,是绝对没问题。但是做出来后,你让它微调一下逻辑,就需要特别注意了,比如:做《哈哈狗记账的时候》让它从外层界面把选中的分类带入到记录界面,它把原来已有的可用的属性删掉,新定义了属性,导致了外层所有调用的地方都需要修改,吭哧吭哧改了一大堆,编译后咔报错了,还得接着改。有人说是不是你prompt写的不好,是,但是你能保证每次prompt都写的完美吗? - 修改编译报错的时候,哈哈哈,上面说了有点是修改编译报错方便,直接粘贴报错给Codebuddy修改就可了。没问题但是也有问题,如果你真的什么都不知道,那只有把报错给他修改。但是如果能懂这方面的知识,最好自己过一遍错误,从而决定是自己修改,还是让Codebuddy修改。
比如做鸿蒙版《哈哈简笔画》的时候,让Codebuddy实现一个保存图片到本地的功能,第一次没有实现成功,然后第二次还没有实现成功,第三次再让它实现,就发现它又变回来第一次的逻辑。
再比如:因为plist重复报错,我让它改了几次以后,它生气了,觉得这个项目没救了,干脆新建了一个文件夹,正把把这个项目里所有的东西都拷贝过去,被我发现了,好家伙,是我给你自由过了火,赶紧停掉,丢掉所有改动,手动删掉plist,重新修改下Infoplist就可以。 - 还有这样的,就是替换不完全的问题,我遇到了很多次,比如修改某个类的功能,正常的是它直接在当前类修改,但是总是是不是会出现它从头写了一遍这个类,然后替换的时候又没从头替换,替换了一部分,导致这个类报错特别多,一开始没注意到,直接把编译报错丢过去,结果它又替换了一半,然后就会发现报错更多了,仔细看了以后才发现出现了这个问题……
总结
对于我来说,有了CodeBuddy之后,其他几个类似APP都卸载了,只保留了这一个,我用它开发了《哈哈狗记账》、《哈哈简笔画》和《一点想法》鸿蒙版、《哈哈简笔画》鸿蒙版。真的很厉害,但是不足之处也有上面也已经说过了,这里还想补充一点,是想更正一点,一开始说的,不依赖语言,任何人都可以开发任何东西的说法,不不全对,因为就像上面不足之处里说的,如果不了解对应开发的知识,可能会遇到很多的问题,而且所有的类似的工具,都有一个致命的问题,就是当你重复跟他沟通同一个问题多遍之后,它必然会出错。。。所以首先是有对应的开发知识背景,然后加上工具,才是如虎添翼,真正实现“任何人只要有想法,都可以开发任何东西”。
最后:
建议所有用Codebuddy修改前,都先把上次你觉得可接受的程度,提交下Git,然后再让它修改,这样你就知道它修改了什么。