程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我想了想自己这些年,好像确实如此。我在心里把这个问题的排查过程复盘了一遍,能省半天。从此我多了一条团队规约
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个报错信息指向的位置和真正的错误隔了三层。我抬起头看了看周围,大家都一样。我把这个函数的入参和出参都打了,发现中间少了一层转换。我把它写进了组内的避坑文档第一章
线上日志里出现了从未见过的堆栈,时间戳还是三个月前的。我把相关的记录都翻了出来做对照。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。我沉默了,但心里是服的
调试是有惯性的,停下来反而更容易想通。我默默记下了这句话。我在本地把这段代码跑了一千遍,一次都没复现。连茶水间都安静了
bug 的优先级取决于谁发现了它。我默默记下了这句话。我发现是并发导致的,单线程下它一直是好的。我沉默了,但心里是服的
print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我愣了两秒,然后继续敲代码。我加了个 try-catch,先把异常吞掉,回头再查根因。果然现实比段子更精彩
这个报错信息指向的位置和真正的错误隔了三层。我盯着屏幕,觉得这才是我的一天。我发现这个字段在数据库里存量是脏的,代码没问题
同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我把整条链路在心里复盘了一遍。我把断点设在了最不可能出问题的那一行,结果就停在那里。好在最后有惊无险
这个 bug 只在特定时间出现,后来知道是时区。我盯着屏幕,觉得这才是我的一天。我在 devtools 里把这个请求重新发了一次,问题不复现。这大概就是程序员的人生吧
bug 的优先级取决于谁发现了它。我默默记下了这句话。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。第二天这个方案就变成了团队标准做法