对于 AI 编码提升效率这事,越是开发经验丰富的人越是保守,倒不是说这些人是老顽固不接受新技术,只要开发软件的模式没有变,还是现在的要做架构设计、写代码、测试、上线部署的模式,那么目前 AI 编码提升效率就是有限的。
AI 编程在特定场景确实会效率飞起:比如写个爬虫脚本、截图到UI、将代码从一种语言翻译为另一种语言、做个原型等等
但是当项目开始复杂,AI 对效率提升就会降低,主要有几个原因:
- 屎山代码
AI 对于维护屎山代码比较困难,因为它无法理解完整代码,并且它很难保证不让屎山代码崩溃
2.模糊的需求
即使是AI编程,也需要理解需求,需求的描述常常只有一段话,这样模糊的需求是无法直接发给 AI 的,需要负责开发的人先理解需求,理解当前项目架构,然后抽象成编程上的描述,才能指挥 AI 帮你变成代码
- 复杂的技术实现
复杂的技术实现对于 AI 来说,对于人来说同样不好描述清楚,虽然能做出来,但是很多时候生成结果不一定是正确的或者想要的,需要反复几次才能得到想要的结果,甚至一直得不到。这种反反复复生成的成本也是成本。
有人会说:即然屎山代码不好维护,你新开项目不就好了?
遗憾的是:当你的应用一旦走上正轨上了规模,必然会变成屎山代码并且越来越复杂,主要差别是前期 AI 速度快,但是制造屎山的速度更快!
也有人说:那我事先做好架构设计
无论架构设计多优秀,也难避免屎山代码的宿命:
- 需求一直在变,你的架构设计是针对老的需求,随着新的需求增加,老的架构慢慢的就无法满足了,需要重构
- 实施架构的人或者 AI 如果不能很好的理解和贯彻架构设计,就很难保证代码质量
不过上次有个朋友提到:微服务架构在 AI 编程时代要重新火起来了
这点我倒是认同,微服务架构被人诟病的是过度设计维护起来不容易,一个小项目拆几百个微服务,但它最大的优点就是耦合度低,每个服务之间通过协议通信,但是内部实现可以比较灵活,这其实蛮适合 AI 生成的,不必过于纠结它代码质量,能稳定运行就好。
只不过微服务架构同样考验架构水平,另外适用于大中型项目的后端,小项目同样没必要折腾。
说这些不是说 AI 编程没用,只是说一下不要对它的效率抱不切实际的幻想