用 AI 重写代码前先补 E2E 测试:dotey 分享实践经验
卡兹克提出把代码蒸馏成功能文档再让模型重写,dotey 补充了关键一步:先让 AI 写好 Playwright E2E 测试再动手,重写完主要流程直接验证,省心不少。
dotey 介绍了数字生命卡兹克提出的方法:先把现有代码的功能写成详细文档,再让最新模型基于文档重写代码。他提醒重写后需要时间验证才能稳定,旧的单元测试因代码已变价值不大,不建议沿用。正确做法是重写前先让 AI 补写覆盖主要流程的 E2E 测试,Web 场景用 Playwright 框架即可。他也指出 E2E 测试受环境影响可能不稳定,且跑一遍速度慢,所以只覆盖主要流程、不必频繁执行。
先把当前代码的结果写成详细的功能文档,然后让最新的模型基于功能文档去重写是个好方法。 我也常用,有个要注意的问题就是不要指望它写完了就是稳定的,要花一点时间才能稳定下来,验证的时间是少不了的。 以前的单元测试代码不一定能用也不建议用,因为代码不一样了单元测试的价值不大。 但以前的E2E(End to end,端到端,黑盒直接测试最终结果)测试是有用的,能保证主要流程跑通,最多稍作修改。 所以重写之前,先让 AI 补一些 E2E 测试,覆盖主要流程,重写的时候可以验证,写好了以后改功能都可以跑一遍。 但是要注意的是 E2E 测试没有那么稳定,有时候会受环境影响而导致失败;另一个就是速度慢,跑一遍要花一点时间(取决于你功能多少)。 所以通常不会覆盖太完整,只是覆盖主要流程,并且不会跑的太频繁。 Web E2E 最成熟,Playwright 这样的框架就足够好了,其他的我不太熟。 数字生命卡兹克 @Khazix0918 比重构屎山可能更高效的方式: 直接将源项目库蒸馏成功能文档,然后直接用最新的模型原地重写。。。🤦♂️🤦♂️🤦♂️ 🔗 View Quoted Tweet 💬 4 🔄 0 ❤️ 13 👀 2598 📊 5 ⚡