程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我愣了两秒,然后继续敲代码。我把这个 bug 的修复方案写了两版,选了改动小的那版。感动,然后我学到了新的一课

线上日志里出现了从未见过的堆栈,时间戳还是三个月前的。我打开记录从头到尾扫了一遍。我用了二分法把出问题的版本区间缩到了两个提交。同事说这波操作可以写进新人培训教材

同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。这套流程走下来,我从头到尾又确认了一遍。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。果然现实比段子更精彩

print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我想反驳,但发现他说得对。我把这个异常上报到了监控平台,至少下次能早点知道。这条经验值直接拉满

bug 的优先级取决于谁发现了它。我发现自己居然没法反驳。我发现是并发导致的,单线程下它一直是好的。我把这条经验写进了团队 wiki

这个报错信息指向的位置和真正的错误隔了三层。我盯着屏幕,觉得这才是我的一天。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。世界瞬间清净了

这个异常被吞掉了,所以它安静地错了很久。我想反驳,但发现他说得对。我发现这个接口在特定参数组合下返回了空对象。那一刻我觉得自己还是很专业的

这个空指针在上线前一切正常,因为那时没有空数据。我抬起头看了看周围,大家都一样。我把这个 bug 的修复方案写了两版,选了改动小的那版。果然现实比段子更精彩

bug 的优先级取决于谁发现了它。我愣了两秒,然后继续敲代码。我把这个变量的生命周期理了一遍,发现它被提前释放了。连茶水间都安静了

我第一时间把锅甩给了缓存,结果真的是缓存。我盯着屏幕沉默了十分钟。我用了二分法把出问题的版本区间缩到了两个提交。幸好之前留了备份