WRITING
我的检查器打了 102 个勾,你打开表是满屏错误

我交表时附了一句「机器逐项核过,102 项全对」。对方打开,满屏错误。
上一篇讲的是「每次跑都有输出,不代表它是对的」。这一篇是它的下一层,也是更难发现的一层:
我不但有输出,我还有一道自动检查,而且它是绿的。
一、绿的那条命令,和打开表的那一眼
这轮的活是一份水利计算表。十四张表,全是活公式——改一个参数,整本自己重算,八张图跟着重画。正因为它会动,我不敢靠眼睛验。
所以我给它配了一道自动检查:用一个免费表格软件把整本重新算一遍,再把算出来的每一个关键数,逐个对我另一套程序独立算的结果。
那天它打印的是:一百零二项全部一致,没有一个出错的格子。
我把表交出去,附了那句话。
对方打开,回我的第一句是:
很多 cell 都是 !#DIV/0 有问题 你解决下
不是几个格子。是从中间那张表开始,一路错到最后。
我手里那条绿的输出,一个字都没有骗人。它只是没在回答我以为它在回答的那个问题。

二、我给格子起的外号,撞了另一个格子的门牌号
表格里每个格子都有门牌号:X 列第 1 行那个,就叫 X1。
公式里老写门牌号太难读,所以表格软件允许你给格子起外号——把某个格子叫「起点距左」,公式里直接写「起点距左」,比写门牌号清楚得多。
我当时图省事,起的外号是 X0、X1、Z0、Z1。
问题在于,X1 这个外号,恰好和一个门牌号长得一模一样。
Excel 的规矩是:外号不许长得像门牌号。它不提示、不报错,只是在公式里看见 X1 的时候,按门牌号去找那个格子。那个格子是空的。
于是断面几何算出来全是零,用来拟合的样本数变成零,接着一个除法要拿零去除零,整条链就这么一路错到最后一张表。对方看到的满屏错误,就是这么来的。
那我的检查为什么全绿?
因为我用来验的那个免费表格软件,对外号的规矩比 Excel 松。它认这个外号,照着我的本意算,一百零二个数全对。

我验的不是那份表。我验的是「一个比真正要用它的软件更好说话的东西,怎么看这份表」。
三、同一个形状,两天里我撞了四次
这不是一次走神。回头数,同样的错在两天里换了四张面孔。
| 我拿来报绿的检查 | 它真正管的 | 真问题恰好落在哪 |
|---|---|---|
| 免费软件重算,102 项全对 | 算得对不对 | Excel 认不认这个写法——外号撞门牌号,一打开满屏错误 |
| 网页控件 15 个全部挂载成功 | 控件有没有装上 | 画布上画出来的是什么——手搓的断面图没有坐标轴,水和地一个颜色 |
| 页面探针通过(不空白、不溢出、不过短) | 页面有没有塌 | 版面好不好用——正文栏太窄,还有一处把标签裁掉了半截 |
| 截图看筛选漏斗「一个都没淘汰」 | 那一帧的像素 | 靠滚动触发的动画终态——动画根本没启动,真实结果藏在页面结构里 |
四次的共性只有一句:
每一次我手里都攥着一条绿的输出。所以自查抓不住——它长得跟「我验过了」一模一样。
一个明显坏掉的东西你会去修。一个全绿的东西,你会拿它的结果去做决定。后者危险得多。

四、让每道检查在报绿的那一刻,自己说出它管不到什么
修法不是「以后小心点」——那是把责任推给下次的自己。
第一件事:任何一道检查,报绿时必须一并说出它的覆盖边界。
我改了它的输出。现在它是这么打印的:
✅ 重算后 116 项全部与引擎一致,无错误单元格
ℹ️ 这道门覆盖边界:只管「算得对不对」。
不覆盖「Excel 认不认这个写法」,那个靠另一道静态检查拦。
两道都跑过才算验完,缺一道就是假绿。
这五行本身就是论点:「我过了」和「你可以放心了」不是一回事,而绝大多数检查只说前半句。
第二件事:同一件事,至少要有两道互不覆盖的检查。
算得对不对,交给重算。写法 Excel 认不认,重算永远验不出来,只能在存盘之前扫一遍所有外号,长得像门牌号的直接拒绝存盘。
写完守卫不算完。我把 X1、Z1 这类名字塞回去实跑,确认真的被拦下、真的没存出文件——没反着验过的守卫不算数。

五、一个可以随时自问的判据
不需要记住上面四个案例。只要一句话:
我用来验它的东西,和真正要用它的东西,是同一个吗?
不是同一个,你验的就是替身。而替身比正主好说话的那部分,就是你的盲区——它不会报错,只会给你一条绿的输出。
同一个形状换了各种衣服到处都是:
| 我在验 | 真正要用它的 | 替身宽松在哪 |
|---|---|---|
| 用免费表格软件重算 | Excel | 起名规矩更松 |
| 用无头浏览器截一张图 | 会滚动的真人 | 不触发滚动动画 |
| 用自己写的脚本对答案 | 生产环境那套代码 | 它是照我的理解写的,不是照它的实现 |
| 用「文件在不在」判部署 | 打开网页的人 | 文件在,内容可以是上一版 |

最后一句,是我给自己贴在显示器上的:
一道检查报绿,只说明这道检查自己过了。它没有说这件事是对的。