第69篇:读不懂的代码丢给 AI 解释——每个字都认识,连起来不认识

2026/09/26 AI

从这篇开始,我们不写代码了,我们读代码。

同事甩来一段代码说”你在这儿加个功能”,你点开一看——每个单词都认识,连起来一个字看不懂。或者你从网上复制了一段,居然跑通了,但心里发虚:它到底干了什么?我敢不敢交出去?再或者,你接手了一个别人跑路留下的项目,三百行代码零注释。

这三种情况,以前的解法是”找个人问”。问题是,能问的人不一定有空,愿意讲的人不一定讲得清;同一个问题问第三遍,你都不好意思再问了。现在有了 AI:它有空,愿意讲,讲第十遍也不会翻白眼。 但前提是——你得会问。同样一段代码,问法不对,AI 给你一堆术语越看越懵;问法对了,它能用”电梯关门”给你讲明白。


一、”看不懂”其实是三种看不懂

最关键的一步,也是 90% 的人漏掉的一步:“看不懂”不是一个问题,是三个问题。

  • ① 语法层:不认识字。 看到 =>、async、??、*args 这些符号,压根不知道什么意思。
  • ② 逻辑层:认识字但不知道在干嘛。 每行都能读出来,连成一段却说不出”这段代码整体做什么、输入什么、输出什么”。
  • ③ 意图层:知道在干嘛但不知道为什么这么写。 看懂了它在做防抖、做缓存,却想不通:直接写不行吗,为什么多此一举?

three-layers

为什么必须分清?你贴段代码问”这是什么意思”,AI 不知你卡在哪,就从 let 是声明变量一路讲到闭包、事件循环——你想知的”为什么这么写”一句没提,早懂的”变量是什么”讲了三段。换个问法:”这段代码整体在做什么?我不需要逐行解释语法,想知道它解决了什么问题。” 这一句就把 AI 锁在第二、三层了。


二、贴代码前,先说这一句

本篇最值钱的一个技巧,一句话,讲解质量翻倍:

“我是完全没学过编程的新手,请用大白话讲,不要用专业术语,能打比方就打比方。”

因为 AI 默认把你当同行,你不说它就按”跟程序员说话”的方式答——它说”这里做了一次闭包捕获”,对你却是又一个要查的词。你必须主动降级,按实际情况挑一句:

  • 纯零基础:”我完全没学过编程,请当作给一个高中生讲。”
  • 会一点点:”我只会看懂最基础的 if 和 for,其他都不熟。”
  • 别的领域会:”我做产品/运营,会看 Excel 公式,但没写过代码。”
  • 只想知道结论:”我不需要学会写,只需知道这段代码会不会删我的数据。” 很多时候你要的不是”看懂”是”敢用”,直说出来 AI 就不给你上课,直奔风险点。

三、三层问法:照着抄就行

分清层次、说清水平,具体怎么问:

第一层·语法层——”这个符号是啥”

“下面这段代码里,=>、...args 这几个符号分别是什么意思?我是新手,请一个一个用最简单的话解释,每个配一个最短的例子。” 要点:把不认识的符号单独列出来(上面这两个正是本篇示例 debounce 里出现的),别笼统说”有些地方看不懂”,AI 猜不到你卡哪。

第二层·逻辑层——”这段在干嘛”

“请告诉我这段代码整体在做什么,按这个格式回答:1)一句话总结作用;2)需要什么输入、产生什么输出;3)执行流程分几步,每步一句话。我是新手,不要用术语。” 要点:给它回答的格式,不给它就写一大段散文,你还得自己找重点。

第三层·意图层——”为什么这么写”

“这段代码为什么这么写?如果我用最笨最直接的方式实现同样效果,会有什么问题?请对比说明。” 要点:让它对比”笨办法”,只有看到笨办法的坏处,才懂聪明办法好在哪,这是理解设计意图最快的路。


四、完整实操:一段”天书”的拆解

假设你在网上复制到了这么一段 JavaScript:

function debounce(fn, delay) {
  let timer = null;
  return function (...args) {
    if (timer) clearTimeout(timer);
    timer = setTimeout(() => { fn.apply(this, args); }, delay);
  };
}

第一步:问逻辑层。 贴上自我定位句 + 逻辑层问法。AI 大概会这样答:一句话总结——它让一个动作”等你消停了再执行”。生活类比:这就是电梯关门,门快关上突然有人进来,门重新打开、重新倒计时,只有连续几秒没人,门才真正关上。什么时候用?搜索框输入联想——你打字”北京天气”,如果每敲一个字发一次请求,四个字发四次浪费;用了它,你停下打字半秒后才发一次。

elevator-analogy

第二步:补语法层。 ...args 还看不懂就单独问。

第三步:追意图层。 “如果我不用它直接在搜索框发请求会出什么问题?” AI 会告诉你:请求次数暴涨、服务器压力大、返回顺序可能乱掉——搜”北京”的结果可能比搜”北”先回来,页面显示错内容。到这一步才算真懂:不只是知道它干啥,而是知道没有它会出啥事。


五、四个追问,把”看懂”变”会改”

看懂不等于会用,这四句追问是变”能动手改”的关键:

  • ① 删了会怎样? “如果我把第 4 行删掉会发生什么?”——想知道零件干嘛用,就假装拆了它。
  • ② 有更简单的写法吗? 记得追问”代价是什么“,说清取舍才不会盲目替换。
  • ③ 可能在哪出错? “列三种最可能的情况。”——放进项目前必问。
  • ④ 出三道题考我。 “先别给答案,答完你再判卷。” 答错一道,比点头十次记得牢。

four-questions


六、三个坑,我都替你踩过

坑一:掐头去尾贴代码。 只贴中间三行,AI 只能靠猜——看不到变量从哪来、函数被谁调,猜错了还讲得特自信。正确做法:至少贴完整一个函数;太长就先让它”拆成几个功能块、每块在哪行、负责什么,先别逐行”,先鸟瞰再俯冲,别一上来就逐行。

坑二:AI 会一本正经地讲错。 代码解释也有幻觉,尤其当代码调用了你项目里 AI 没见过的函数,它会按函数名硬猜。防身加一句:”如果有些地方你是推测的、不能百分百确定,请明确标注。” 看到这句提示,你就知道该去核实了。

坑三:懂了但没留下东西。 花二十分钟搞懂,关掉对话框三天后还是天书。收尾必做:让 AI “把代码重新输出一遍,每行上方加大白话注释,开头加三行内整体说明”,拿到贴回项目里存档,下次不用再问一遍。


📦 提示词模板盒子

模板一:整体看懂(万能起手式,最常用)

我是完全没学过编程的新手,请用大白话讲解,不要用专业术语,能打比方就打比方。

请告诉我下面这段代码整体在做什么,按这个格式回答:
1)一句话总结它的作用
2)它需要什么输入,产生什么输出
3)执行流程分几步,每步一句话
4)什么场景下会用到它

如果有些地方你是根据命名或上下文推测的,请明确标注出来。

代码:
【在这里粘贴完整的函数或文件】

模板二:三层深挖(复制后逐条问)

① 语法层:下面代码里我看不懂这几个地方【列出符号/写法】,请一个一个用最简单的话解释,各配三行内小例子,不引入新术语。
② 意图层:这段代码为什么这么写?如果用最笨最直接的方式实现,会出什么问题?请对比说明笨办法怎么写、后果是什么、这段代码怎么避免。
③ 沉淀:请把这段代码重新输出一遍,每行上方加大白话中文注释,开头加三行内整体说明,输出完整代码,我要直接贴回项目存档。

一句话总结:读代码的门槛,从”得有个愿意教你的师傅”,降到了”你得会提一句话”——说清我的水平、说清卡在哪一层、贴全代码,其余的 AI 办。

下篇预告

第70篇:让 AI 讲清第三方库/框架原理——源码之外,更快懂。 下一篇更难一点:你要用的库几万行源码连看都不想看,却必须知道它在背后替你干了什么。React、Vue、Django……装上就能用,但”它到底怎么工作”文档看三遍还是懵。下篇给你一套「摸清一个库的四连问」,以及一个关键判断:作为使用者,你到底需要懂到哪一层? 知道哪些不用学,比知道学什么更省时间。

Search

    Post Directory