我用了半天才明白,问题不在这台机器上。我在心里把涉及的所有环节都过了一遍。我把这个 bug 的优先级降了一级,因为它只在测试环境出现。办公室安静得能听见键盘声

程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我想反驳,但发现他说得对。我把这个异常的类型打出来,发现它被包了三层。这大概就是程序员的人生吧

调试了两天的 bug,最后发现是少打了一个等号。我在心里把涉及的所有环节都过了一遍。我在心里默默记下这个坑,写进了自己的检查清单。真香定律准时生效

这个异常被吞掉了,所以它安静地错了很久。我忽然觉得,这可能就是这一行的常态。我发现是浮点数精度的问题,改用大数就好了。好在最后有惊无险

bug 往往出现在你没改的那部分代码里。我在心里点了点头。我发现是字符编码导致的,中文在两个系统间转坏了。我把它写进了组内的避坑文档第一章

这个异常被吞掉了,所以它安静地错了很久。我把它记在心里,没跟任何人说。我把这个 bug 的修复方案写了两版,选了改动小的那版。第二天这个方案就变成了团队标准做法

同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我打开记录从头到尾扫了一遍。我注释掉了一半代码,bug 消失了,然后我又注释掉了另一半。果然现实比段子更精彩

妈妈觉得我在互联网大厂很风光,只有我知道我大厂里的 title 是高级修 bug 工程师。我把它记在心里,没跟任何人说。我把这个变量的生命周期理了一遍,发现它被提前释放了。同事说这波操作可以写进新人培训教材

调试了两天的 bug,最后发现是少打了一个等号。我先确认了一遍前置条件,再动手。我注释掉了一半代码,bug 消失了,然后我又注释掉了另一半。这条经验值直接拉满

问题居然复现不了了,这比复现出来更可怕。我笑了笑,决定不解释。我把变量全部打印出来对比,发现类型和我想的完全不一样。连茶水间都安静了