我做了个「别信自报」的工具,自己却一天轻信了七次
来源:dev.to — 2026-09-03
📋 概述
作者花一天构建了一个核心前提是「你不该相信系统对自身的自报」的工具——而同一天他七次轻信了自己工具的「无事发生」汇报、八次修正自己的说法。他挑出四个值得买单的时刻:一个比较两份「不存在的文件」的检查因双空串相等而虚报绿;一个 jq 投影把总计数丢掉、把截断的 2450 次失败读成 0;tail 的退出码被误读成安装成功;一个安全门问错了问题——守卫的是「有没有 cargo 在跑」,而它保护的操作要求问「有没有任何不能被杀的东西在跑」。他据此提炼出四条可执行的纪律:报告数字前用两种拼写数一遍、在每个门旁放阴性对照、别再拿「在跑」当「在推进」、让纪律变成「拒绝」而非「提醒」。
🔑 核心要点
- 字节相等作用于「两个都缺席的输入」是空洞成立的——一个无法区分「相同」与「两边都不在」的检查器,每次都会挑那个讨人喜欢的解读
- 把响应压成单个数字前先想:总数与分母一起投影了吗?jq 把 workflow runs 的总计数丢在一边、只留截断后的列表长度,于是 2450 次失败被读成了 0——永远别投影掉告诉你「你拿到了什么」的那个字段
- tail 的退出码被当成安装成功的信号——shell 管道报告的是最后一段的状态,而最后一段几乎总是不会失败的;同一天这是同一种 bug 的第三种写法
- 守卫「wsl shutdown」的门数的是 cargo 进程为 0,却会放行并杀死同事会话里两个长驻服务器——它问的是「有没有构建在跑」而非「有没有任何不能被杀的东西在跑」,这是两个不同的谓词
- 每次报告都该数两种拼写:tokio 测试漏数四倍、被 formatter 换行的行扫成 30、依赖检查抓到注释里的 [dependencies] 字面量——它们全都 exit 0
- 把纪律写成「拒绝而非提醒」:一个禁止在账本过期后写入/调 shell 的 pre-tool hook 四度拦住作者,因为禁令的默认态是「不做」,而处方一旦被忘就会悄悄退回出事前的行为
💡 金句
写着「这样没问题」的注释,是阻止任何人检查它是否有问题的最廉价方式。
👍 0
👎 0
← 返回 dev.to 首页