总结
可以肯定的说AI编程会大大提高我们的开发效率,这点是肯定的,毋庸置疑的,但是也不能完全依赖AI。新功能开发过程中,AI基本上可以帮我完成80%以上的工作,这80%包含UI展示、接口调用、逻辑处理等,余下的20%并不是AI故意给我们留下的,而是AI完成的不达标的地方,比如UI上的细节问题,逻辑处理上的错误等,这些都是我们能一眼看到的问题。
如何让AI帮我们完成80%的工作?
1:准备好完整的设计稿,接口文档(包含接口中的字段说明)、页面逻辑思维导图(复杂页面需要用到)、需求文档
2:上述内容准备好之后,先建立开发分支,然后将设计稿发给AI,有的AI可以识别Figma的链接,不能识别设计稿链接的可以发送设计稿图片,上传完设计稿之后,告诉AI实现某个页面,接口是XXX,接口返回的正确的Json格式,接口返回的错误的Json格式,页面的逻辑是什么样的,然后就等着AI来具体实现了
下面是一个示例,截图中漏了一点,需要说明接口的请求方式和参数:

AI剩下的20%是什么样的?
下面是一个示例场景:
我最近在做RN的项目,需要与安卓和IOS的原生页面进行联调,比如RN页面中展示了未实人认证,点击按钮后跳转原生的实人认证,返回到RN页面中时要刷新页面;同时RN页面还可以打开原生的密码校验组件,但是从密码校验返回RN时不用刷新页面;
上面的场景AI是怎么实现的呢?这个在我们看来是很简单的场景,AI加了三四个判断字段,比如进页面有一个字段,跳转原生实人认证有一个字段,跳转密码校验有一个字段,造成了代码冗余,而且AI还转不过弯来,认识不到这个问题,这时候开发者再继续让AI改只能是浪费时间和token,因此我只能手动修改
AI在帮我们完成一些重复的、有模板的内容时,效率是很高的
比如有四个相似的弹框,每个弹框都是一个下拉列表,这时候我们需要先让AI完成一个,然后将这个调试到符合标准,再让AI根据这个弹框来实现剩余的三个,这效率就很高了,而且完成度很好
作为一个开发人员,我们要熟悉自己代码,这样才能更好利用AI。
以我这次RN项目为例,我是一个安卓开发,但是我的RN需要调用IOS的密码校验组件而我又不懂IOS的代码,我直接跟AI说“参考IOS原生的提现页面调用密码校验的方法,通过RN的JS回调调起IOS的密码校验”;大家看这样有没有问题?基本上大部分人都不会觉得有问题,我当时也觉得不会有问题,但是问题确实出现了。原因在于IOS原生的提现页面用的是旧版的密码校验,而这次要用新版的,UI上长的都一样,但是调用的接口和实现的逻辑完全不一样
再比如改bug的过程中,你跟AI说的越详细AI改的越快,并且还省token;这也需要我们对代码比较熟悉。