AI 写的代码没注释,怎么快速读懂

那天我打开一个 AI 生成的模块,翻到第 200 行才意识到:整个文件没有一行注释,变量名还都是 a、b、tmp 这种。AI 写的代码没注释怎么读懂,靠一行行读是读不完的,得换个入口。

我的入口不是代码本身,是它的输入输出。下面这套顺序,是我在被这种文件折磨过几轮之后固定下来的。

AI 写的代码没注释怎么读懂:先读出口,不读入口

拿到一个没有注释的文件,第一反应通常是打开从头看。这是最慢的路径。

正确做法是先找到这个模块对外暴露了什么。导出的函数、注册的路由、被别的文件调用的入口,这些是它存在的理由。

把这些出口列成一张表:谁调用它、传什么进去、期望拿到什么。表列完,这个模块在系统里的位置就清楚了。

具体动作:全局搜索这个文件的名字,看谁引用了它,把调用点和参数记下来。

二、用数据形状反推意图

没有注释的代码里,数据结构的字段名往往比函数名更有信息量。

函数名 AI 经常起得很泛,叫 handle、process、doSomething。但结构体的字段名它反而写得具体,因为它得从你的需求里抄。

看懂一个结构体的字段,基本就猜到了这个函数在干什么业务。

具体动作:把所有结构体定义挑出来单独看一遍,不看函数体。

三、从异常分支里找业务规则

正常路径的代码谁都写得出来,业务规则恰恰藏在异常分支里。

没有注释的代码里,「什么情况下不允许」这类信息,只能从 if 判断和返回错误的地方读出来。一个函数里判断最多的那几个条件,就是这个业务的核心约束。

具体动作:把函数里所有提前返回、抛异常的地方标出来,逐条问「为什么这里不允许」。

四、自己补注释,写一行就够

我不建议给 AI 代码补详细注释,那是无底洞。

我的做法是在每个函数上方写一句话:它什么时候被调用、失败会怎样。就一句。

写这一句的过程本身就是检验——写不出来,说明你还没读懂;写得出来,下次别人接手就不用重走一遍。这个思路和接手别人用 AI 写的项目,怎么开始理是同一套。

五、读懂之后马上固化下来

读懂的瞬间不记录,两天后忘得干干净净。这是我最常犯的错。

我现在的习惯是读完当场留三样东西:出口清单、数据结构说明、异常分支清单。三样加起来不超过一页。

等你要动手改的时候,这一页纸比任何注释都好用。真要动结构了,顺序可以参考AI 写的代码太乱,我的 4 步重构顺序。

顺序对不上的两个信号

信号一:你读了半小时还在读同一个函数。 这说明你在硬啃函数体,回到出口重新走一遍。

信号二:你说不清这个模块失败时会怎样。 说明异常分支没读,业务规则还没拿到。

这两个信号出现任何一个,都别继续往下读了,回头补前面的步骤更省时间。

常见问题

Q:AI 写的代码没注释怎么读懂,能不能直接让它帮我加注释?

A:可以当辅助,但别当成答案。让它加出来的注释经常是复述代码,比如「给变量赋值」这种,对理解没帮助。让它先解释业务意图、你判断对不对,这样用才有价值。

Q:读不懂的代码是先运行一遍还是先读?

A:先运行。跑起来看它实际输入输出什么,比你静态读十遍都快。跑通了再去读代码,很多原本看不懂的地方会自己接上。

Q:变量名太烂要不要边读边改?

A:读的时候别改。改名字会让你的注意力从理解转到编辑上,而且改完你可能更记不住原来叫什么。先读完,理解透了再统一改。

相关阅读


本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。

完整代码、踩坑清单与最新进展,都在公众号。

📱 关注公众号「西米分享」