让 CodeBuddy 审查我的老代码:它揪出了我三十年没发现的坑

抱着试一试的心态把旧代码交给 AI 审查,结果从命名习惯到隐藏 bug,被点评得明明白白。

很多人以为 CodeBuddy 只能「帮你写新代码」,其实它最让我惊喜的用法,是审查旧代码。我硬盘里躺着不少多年没动的「半成品」,有的来自我三十年前跟教程敲的练习,有的是以前抄来改去改烂了的脚本。我一直很好奇它们到底写得怎么样,但没人能问。

上个月,我挑了几段老代码丢给 CodeBuddy,让它帮我看看。这一看,让我又惊又喜。

我是怎么让它审查的

直接把整段代码往对话框里一贴,然后说:

我:下面这段代码是我以前写的,请帮我审查,
   按严重程度分类指出问题:①会导致出错的 bug;
   ②安全隐患;③写得很乱、很难维护的地方;
   ④性能问题。请用大白话解释每个问题,
   并给出修改建议,最后总体打分。

[粘贴代码]

它真的按这个格式给我列了一张清单,每条都标了严重程度,还解释了「为什么这是个问题」。那一刻我像拿到了一个资深程序员的批改卷。

它揪出了哪几类问题

1. 真正的 bug:一处会丢数据的地方

我有一段往文本文件里存数据的代码,它指出:写入时如果程序中途崩溃,文件会损坏,数据全丢。建议改成「先写临时文件,成功后再改名替换」。这个坑我不细想绝对发现不了。

2. 安全隐患:把密码写死在代码里

我连接数据库时,把用户名密码直接写在脚本里。它提醒我,如果哪天这个文件被传到网上或被别人看到,等于把数据库大门钥匙送人。它建议把密码放到单独的配置文件里,并告诉我怎么在 phpstudy 下配权限。

3. 维护性问题:变量名、魔法数字、复制粘贴

我那会儿习惯用 abtemp 这种变量名,还特别喜欢复制粘贴。它一条条给我改名,还帮我把三段几乎一样的代码合并成一个函数。说实话,被 AI 点评命名,让我有点脸红,但确实学到了。

4. 性能问题:循环里反复查数据库

它发现我在循环里查数据库,几百条数据就要查询几百次。它改成「一次查完再慢慢处理」,速度立刻快了。这个改进我现在做进销存报表时也在用。

怎么分辨 AI 的建议该不该听

AI 也不是全对,所以我也总结了一套「分辨真伪」的办法:

  • 能解释「为什么」的建议,多半靠谱:它说清楚问题背后的原因,而不是只说「这样写更好」;
  • 要求你验证的,再动手:改完代码后,我会让它对比「改前和改后行为一样吗」,并跑一遍确认没改坏功能;
  • 和自己业务冲突的,以业务为准:比如它建议我把某个功能拆成微服务,我家小卖部系统显然不需要,直接忽略;
  • 拿不准的,追问到底:我会说「这个我不懂,能不能用打比方的方式讲给我听」,它解释清楚了,我才敢采纳。

把「审查」变成日常习惯

现在每次 CodeBuddy 帮我写完新代码,我都会让它顺手做一遍自查:「请检查你刚写的代码有没有 bug 和安全问题」。每次都真能找出点东西——这已经成了我的固定流程。

回头看,老代码里那些问题,很多不是「水平问题」,而是「没人帮我回头看」。CodeBuddy 就像是终于出现的那个肯帮我批改作业的人。

你也可以试试:打开 CodeBuddy,挑一段你以前写的、已经没人看的旧代码,说一句「帮我审查一下这段代码」,然后按它给的清单逐条处理。改完之后你会发现,以前那些「半成品」,其实离「成品」只差一次认真的审查。

写于 2026-07-20 返回全部文章 →