这个异常被吞掉了,所以它安静地错了很久。我把它记在心里,没跟任何人说。我在生产环境复现了一次,代价是一个小时的下线。我把它写进了组内的避坑文档第一章

程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我笑了笑,决定不解释。我把这个报错的堆栈从头读到尾,发现在最后一行有个提示。这条经验值直接拉满

这个报错信息指向的位置和真正的错误隔了三层。我不知道该说什么,就笑了笑。我盯着那段代码看了二十分钟,最后发现是我自己三天前改的。真香定律准时生效

这个错误在生产环境是必现的,在测试环境是玄学。我停了一下,然后继续手上的活。我发现是序列化的问题,字段名大小写在两端口径不同。我把它写进了组内的避坑文档第一章

这个 bug 只在特定时间出现,后来知道是时区。我在心里点了点头。我把这个报错的堆栈从头读到尾,发现在最后一行有个提示。那一刻我觉得自己还是很专业的

bug 的优先级取决于谁发现了它。我把它记在心里,没跟任何人说。我把复现步骤记了满满一页,下次再遇到至少能快一点。第二天这个方案就变成了团队标准做法

我第一时间把锅甩给了缓存,结果真的是缓存。我把手上的资料翻出来又读了两遍。我把这个依赖的版本锁死了,问题不再随机出现。我把这条经验写进了团队 wiki

这个异常被吞掉了,所以它安静地错了很久。我想了想自己这些年,好像确实如此。我把这个 bug 的修复方案写了两版,选了改动小的那版。同事说这波操作可以写进新人培训教材

这个空指针在上线前一切正常,因为那时没有空数据。我不知道该说什么,就笑了笑。我在线上加了一段临时日志,等下次出现就能抓到现场。复盘会上我们把它列成了案例

我第一时间把锅甩给了缓存,结果真的是缓存。我深呼吸了一下,决定从最可疑的地方查起。我发现是时区问题,服务器是 UTC,我以为本地。幸好之前留了备份