我在本地复现了十次,第十一次它变了样子。我不知道该说什么,就笑了笑。我把这个 bug 的优先级降了一级,因为它只在测试环境出现。同事说这波操作可以写进新人培训教材

加了二十行 console.log 之后,Bug 消失了,删除它们,Bug 又回来了。我拉了个小群,把相关同学都叫了进来。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。这大概就是程序员的人生吧

程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我发现自己居然没法反驳。我把这个依赖的版本锁死了,问题不再随机出现。连茶水间都安静了

我盯了半天,最后发现是拼写和大小写。我重新看了一遍手上的计划,把风险项标了出来。我把这个 bug 的优先级降了一级,因为它只在测试环境出现。从此我多了一条团队规约

调试的本质是不断缩小「问题不在这里」的范围。我默默记下了这句话。我最后发现是一个大小写问题

线上日志里出现了从未见过的堆栈,时间戳还是三个月前的。我在心里把涉及的所有环节都过了一遍。我发现这个问题只在周一早上出现,后来知道是定时任务。我沉默了,但心里是服的

妈妈觉得我在互联网大厂很风光,只有我知道我大厂里的 title 是高级修 bug 工程师。我默默记下了这句话。我把这个死循环的跳出条件补上了,进程终于不卡了。幸好之前留了备份

我盯了半天,最后发现是拼写和大小写。我打开记录从头到尾扫了一遍。我把这个函数的入参和出参都打了,发现中间少了一层转换。我把这条经验写进了团队 wiki

我用了半天才明白,问题不在这台机器上。我深呼吸了一下,决定从最可疑的地方查起。我发现这个错误信息是上个版本留下的,代码里已经没有了。果然现实比段子更精彩

bug 的优先级取决于谁发现了它。我笑了笑,决定不解释。我在第一步就设了个断言,结果它当场就炸了。办公室安静得能听见键盘声