用AI写代码写了半年,说点真实感受
AI写代码这个事,我用了快两年了。从一开始觉得神了,到后来被它坑过几次,现在算是有个比较实在的判断。
它写小代码真的快。
你要写个正则、写个排序、写个简单的数据处理函数,它几秒钟给你出来。你自己写可能要想半天,它直接给你写好。
这种场景下,AI确实省时间。我现在写代码,那种通用的、不需要动脑子的部分,基本都让它先写,我来调。
但它写大代码就不行了。
什么叫大代码?就是你要它理解整个项目——这个函数跟那个函数什么关系、这个变量在哪些地方用了、改这里会不会影响那里。
它理解不了。它看的是单个文件、单个函数。你让它改一个跨好几个文件的功能,它改着改着就把别的地方改坏了。
有次我让它加个功能,它写得挺快。我一跑,报错了。查了半天,发现它把另一个文件里的函数名改错了。它不知道那个函数被别处引用着。
那它到底能干什么?
写辅助代码:工具函数、测试用例、注释、文档。这些它行。
写核心逻辑:它不行。核心逻辑你得自己想清楚,它帮你敲。你让它替你想逻辑,它给你一个看着像那么回事、实际有坑的东西。
怎么用才对?
你先想清楚要做什么、逻辑是什么,然后让AI帮你把代码写出来。它是你的手,不是你的脑。
如果你自己都没想清楚,就问AI"帮我写个xx功能",那出来的东西大概率有问题。因为它不知道你真正要什么。
用AI写代码,你自己得是个程序员。它能帮你打字快,但不能帮你思考。
说个更真实的经历。有次接手一个老项目,代码写得挺乱。我让AI帮我看看这个项目是干嘛的、代码结构怎么样。
它给我总结得头头是道:这个模块处理什么、那个接口干什么、整体架构是什么。我一看,挺清楚。
后来我自己翻了两天代码,发现它总结的有一半是错的。它把某些函数的功能搞混了,把A模块的事安到B模块头上了。它只是根据函数名和注释猜的,没真正读懂代码。
从那以后我明白一个事:AI读代码,读的是表面。它能告诉你"这个函数叫什么名字",但它不真正理解"这个函数为什么这么写"。
老项目那种历史包袱、当年为什么这么决策、有什么坑,AI读不出来。这些只有问原来写代码的人,或者自己踩一遍坑才知道。
所以用AI写代码,你自己得心里有数。它给你的东西,你得能判断对错。不然你就是在让一个半懂的人帮你写代码,出了问题你都不知道哪错了。
它是个好助手,但它不是个好工程师。别搞混了。
用AI写代码,你自己得是个明白人。
真的。
听我的。
嗯。
就这样。

