夜雨聆风学习资料网

ARTICLE · 1059595

AI能帮你写代码,带不能替你负责丨用AI写代码,我踩过这5个坑

AI能帮你写代码,带不能替你负责丨用AI写代码,我踩过这5个坑

摘要:用AI写代码踩坑怎么办?我用Copilot写代码半年,踩过这5个坑。把AI生成的代码直接上线、提示词写得太模糊、以为AI写的代码就不用看了、用AI写复杂业务逻辑、只复制不理解。正确做法是什么?

用AI写代码半年,我踩过不少坑

我用GitHub Copilot写代码有半年多了。

一开始觉得这东西太神了,写个函数注释它就能生成完整代码。

但用久了发现,AI写的代码不是万能的,坑很多。

今天分享5个我踩过的坑,都是血泪教训。

坑1:把AI生成的代码直接上线

最开始用的时候,我觉得AI写的代码看着挺对,就直接复制粘贴上线了。

直到有一次,AI帮我写了一个数据校验的函数。

看起来挺正常,正则表达式也对,逻辑也对。

上线之后,出了个bug。

有个用户的输入里带了个特殊字符,AI写的正则没考虑到,导致数据存错了。

我查了半天才发现,原来AI写的正则有个边界条件没处理。

从那以后,我再也不敢直接使用AI写的代码上线了。

正确做法:AI写的代码一定要自己看一遍,重点看边界条件和异常处理。

坑2:提示词写得太模糊

一开始我写提示词就很随便。

比如"帮我写个用户登录的接口"。

AI就给我生成了一个最普通的登录接口,用户名密码验证,返回token。

但我真正想要的是,支持手机号验证码登录,还要有第三方登录。

AI不知道啊,它只能按你说的写。

后来我学聪明了,提示词写得越来越细。

"帮我写个用户登录接口,支持手机号验证码登录,验证码6位,5分钟内有效,登录成功后返回JWT token,有效期7天"

这样AI生成的代码才是我真正想要的。

正确做法:提示词越具体越好,把你想要的功能、参数、限制都写清楚。

坑3:以为AI写的代码就不用看了

有一次我让AI帮我写个测试用例。

AI生成了一大段测试代码,看起来挺完整的,各种情况都覆盖了。

我直接就用了。

后来跑测试的时候发现,有个测试用例一直失败。

我仔细一看,AI写的测试用例里,有个断言写错了。

它把预期值写成了实际值,所以测试永远失败。

从那以后,我每次都要把AI写的代码从头到尾看一遍。

正确做法:AI写的代码一定要review,不能因为它写得快就不看了。

坑4:用AI写复杂业务逻辑

有一次项目里有个很复杂的业务逻辑,涉及到各种规则和判断。

我懒得自己想,就让AI帮我写。

AI给我生成了一大段代码,逻辑很复杂,各种if else嵌套。

我看了半天没看懂,但感觉AI写的应该没问题。

上线之后,出了好几个bug。

因为这个业务逻辑里有很多特殊情况和边界条件,AI根本不知道。

它只能根据你给的描述来写,但业务的复杂性是描述不清楚的。

从那以后,复杂的业务逻辑我都是自己先想清楚,然后让AI帮我写基础部分。

正确做法:复杂业务逻辑一定要自己先设计清楚,再让AI帮你写代码。AI能帮你写代码,但不能帮你想逻辑。

坑5:只复制不理解

有一次我遇到一个性能问题,让AI帮我优化。

AI给我生成了一段优化后的代码,用了某种缓存策略。

我看了一眼,感觉挺对的,就直接用了。

结果性能反而更差了。

因为我根本没理解AI写的缓存策略,它选的缓存 key 设计有问题,导致命中率很低。

从那以后,我每次用AI写的代码,都要先理解它为什么这么写。

如果我看不懂,我就问AI:"你这段代码为什么这么写?"

直到我完全理解了,才敢用。

正确做法:AI写的代码你一定要能看懂,看不懂就问,别稀里糊涂就用了。

AI是工具,不是替身

用AI写代码半年,我最大的感受就是:

AI是个很好的工具,但它不是替身。

它能帮你写代码,能帮你提高效率。

但它不能替你做设计,不能替你做判断,不能替你负责。

如果你把AI写的代码直接复制粘贴上线,出了问题还是你的锅。

如果你让AI帮你做复杂的业务逻辑设计,设计错了还是你的锅。

AI只是帮你干活的,真正做决定、真正负责的人,还是你。

今天就能做的一件事

现在打开你上次用AI写的代码,从头到尾看一遍。

看看有没有这5个坑里的问题。

留言区聊聊:你用AI写代码踩过什么坑?

我挑几个典型的,下期说说怎么避。

相关学习资料