AI coding 导致代码量大幅增加,如何做好代码质量管控?

我这边是这么处理的,就是用一个工作流。

这个工作流呢,是根据我日常的实际踩过的坑后,总结出来,它可以尽量保证你写的代码的质量。

很多人都来跟我要这个工作流,但是我想说,这个工作流,我也是让AI写的,只要你有想法,AI可以帮你搞定的。

你真的不需要问什么人的。

AI带来的其中一个好处就是:给你带来自信心,去克服各种各样你以往惧怕或者没信心完成的东西。

整个流程是这样的:

  • 写好Spec,也即是规格驱动开发;
  • 审核Spec,并不断通过跟AI沟通,矫正spec;
  • 执行Spec,生成代码;
  • 自动唤起/code review skill;
  • 自动唤起「检查是否破坏已有的功能」skill;
  • 自动唤起「测试数据演练」skill
  • 自动唤起「非功能性需求检查」skill;
  • 人工:需要人工再次审核代码;
  • 可选:唤起「代码清晰度检测」skill;
  • 可选:唤起「代码扩展性」skill;
  • 可选:唤起「代码安全性检测」;
  • 点击接受代码的按钮;
  • 执行git工作流;
  • 可选:自动部署到测试环境

通过上面的步骤呢,就基本能保证你新加的新修改的代码,不会出问题。下面我具体说一下。

首先,为什么要提倡规格驱动开发呢? 因为它非常符合一个优秀工程师的工作习惯,先设计再写代码。

如果你实际干过几年程序员,会发现设计过程中,就是思考过程和沟通过程,没有AI之前,你可能是跟周围的高手交流或者找资料。

而现在,你只需要通过Spec跟AI交流即可。在交流的过程中,完善设计。

在AI发展如此迅猛的情况下,Spec是唯二(另外一个是人工审核代码)让我慢下来的。

接下来就是自动执行各种Skill,这些Skill是否执行,你可以选择写在Spec里。当执行完毕Spec后,就会自动执行了。

我们日常写代码时,除了保证新代码满足功能,同时还得保证不会破坏原来的功能。因此需要使用「检查是否破坏已有的功能」的skill。

另外,为了进一步验证代码的功能,你还需要在Spec里提供测试用的演练数据。比如:

  • 输入AAA,结果是BBB;
  • 输入CCC和KKK,结果是XXXX

AI会根据你提供的测试数据,验证输出的结果是否满足你的预期。AI非常在行的,对于执行代码这块。

但是这样还不够,实际生产环境,总会有各种各样的异常场景,因此你还需要使用「非功能性需求检查」skill,检查代码的稳定性。比如第三方接口挂了,流量陡增了怎么应付等等。。

当上面这三个skill执行完毕后,就需要人工介入了。这一步超级重要,无论AI多强大,这一步都不能省略的。

那是生产环境,那么多的真实用户,玩笑不得的。

请记住:作为程序员,对生产环境的敬畏之心,无论在哪个年代,都需要有的。

它跟任何环境任何时代,都没有关系的。是一个基础的东西来的。

人工审核代码结束后,可以接受代码了,并让git skill自动提交代码。如果你用的是阿里的云效流水线来发布的话,那可以把云效API接入进来,可以做到自动化部署到测试环境的。

而上面可选的部分呢,你就根据自己公司的实际情况来就可以了。比如代码安全性检查的。

我为什么会单独再加一个这样的skill呢。这个跟我之前经历有关,之前的公司,每次上线,都是要提交安全测试报告的,通过了,才能上线的。

因为当时的公司认为,安全性跟稳定性是一样重要的。

至于代码可维护性和扩展性skill,一样,根据自己的实际情况来就行。

好了,就说这么多,希望这篇可以帮助到你。

最后我还是想说,我上面的说到的任何skill,都是AI帮我写的,只要你有想法就可以了。

感谢你的阅读。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容