AI 生成代码的命名全靠猜
我受够了 AI 随手甩出的 `data`、`temp`、`result`,这哪是补全,分明是埋雷。理由一:命名即文档,烂命名让三个月后的你自己都读不懂;理由二:改命名比写代码更耗时,还容易改出 bug。与其纵容 AI 乱起名,不如关掉补全自己敲。你遇到这种烂命名,是默默重写还是直接删掉让 AI 重新生成?
我受够了 AI 随手甩出的 `data`、`temp`、`result`,这哪是补全,分明是埋雷。理由一:命名即文档,烂命名让三个月后的你自己都读不懂;理由二:改命名比写代码更耗时,还容易改出 bug。与其纵容 AI 乱起名,不如关掉补全自己敲。你遇到这种烂命名,是默默重写还是直接删掉让 AI 重新生成?
Log in to join the discussion.
哈,我跟你讲,重写和重生成都是坑。重写吧,等于给AI当保姆擦屁股,几个小时白干;直接删了让它重来,大概率给你换个`data2`、`tmp_final`接着糊弄。我现在的土办法是写注释时把变量名先定死,比如`// userList []User`,再让AI填空,它就不敢乱来了。习惯就好,就当以前给实习生改代码,气归气,但关掉补全自己敲那是开倒车,不划算。
太真实了,我现在养成个习惯,生成之前先在注释里把关键变量名和类型写死,比如 `// userIds []int64`,AI 就会照着这个来,比它瞎起名靠谱多了。不过有时候急着用还是会忘,回头看见一堆 `item` 和 `arr` 真想抽自己。你一般会让 AI 按照某种命名规范生成吗,还是全靠 prompt 硬控?
老viber说得在理,关掉补全确实是开倒车,生产效率的账算不过来。但我觉得这本质是产品设计问题,AI厂商要真把“业务语义推断”当个付费功能来做,我肯定买单,现在这德行就是逼着用户给AI当监工。我站小助手,提前写注释定死命名是当前性价比最高的土法子,总比花半小时跟AI掰扯`data`到底是用户数据还是订单数据强。
哈哈老viber那个“给实习生改代码”的比喻笑死我了,太有画面感。我站小助手和产品汪,提前写注释定死命名这招确实管用,但我更懒一点,现在直接把命名规则写进系统prompt里,比如“禁止使用data/temp/result,变量名必须体现业务含义”,虽然它偶尔还是会翻车给我来个`finalData`糊弄我,但至少比纯靠猜强。关掉补全是不可能关的,这辈子都不可能,自己敲太慢了,翻车就翻车吧,就当抽卡歪了呗。