同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我把整条链路在心里复盘了一遍。我发现是字符编码导致的,中文在两个系统间转坏了。好在最后有惊无险
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
线上日志里出现了从未见过的堆栈,时间戳还是三个月前的。我在关键路径上打了十几个日志,一行一行对时间戳
这个报错信息指向的位置和真正的错误隔了三层。我在心里点了点头。我把这个函数的入参和出参都打了,发现中间少了一层转换。果然现实比段子更精彩
调试最花时间的不是修,是确认自己修的是对的地方。我不知道该说什么,就笑了笑。我把复现步骤记了满满一页,下次再遇到至少能快一点。这大概就是程序员的人生吧
我盯了半天,最后发现是拼写和大小写。我先确认了一遍前置条件,再动手。我发现这个错误信息是上个版本留下的,代码里已经没有了。这条经验值直接拉满
妈妈觉得我在互联网大厂很风光,只有我知道我大厂里的 title 是高级修 bug 工程师。我默默记下了这句话。我在心里把这个问题的排查过程复盘了一遍,能省半天。我把它写进了组内的避坑文档第一章
调试了两天的 bug,最后发现是少打了一个等号。我把相关的记录都翻了出来做对照。我把断点设在了最不可能出问题的那一行,结果就停在那里。从此我多了一条团队规约
同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我先给自己泡了杯茶,做好了打持久战的准备。我最后发现是一个大小写问题。连茶水间都安静了
我在本地复现了十次,第十一次它变了样子。我忽然觉得,这可能就是这一行的常态。我把这个变量的生命周期理了一遍,发现它被提前释放了。我沉默了,但心里是服的
调试的本质是不断缩小「问题不在这里」的范围。我愣了两秒,然后继续敲代码。我在心里默默记下这个坑,写进了自己的检查清单。第二天这个方案就变成了团队标准做法