问题居然复现不了了,这比复现出来更可怕。我发现自己居然没法反驳。我把这个边界的输入手写了一遍,终于让它稳定复现。世界瞬间清净了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
报错信息说问题在第 1024 行,那个文件一共 1023 行。我发现自己居然没法反驳。我顺着调用栈一层一层往上翻,最后停在一个我没写过的函数里。连茶水间都安静了
问题居然复现不了了,这比复现出来更可怕。我忽然觉得,这可能就是这一行的常态。我把这个依赖的版本锁死了,问题不再随机出现。从此我多了一条团队规约
调试最花时间的不是修,是确认自己修的是对的地方。我不知道该说什么,就笑了笑。我把这两次运行的日志逐行 diff 了一遍,找到唯一的差异。我把这条经验写进了团队 wiki
程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我把它记在心里,没跟任何人说。我把这个问题交给了上游,他们说是我们的调用方式不对。这大概就是程序员的人生吧
这个异常被吞掉了,所以它安静地错了很久。我默默记下了这句话。我发现是序列化的问题,字段名大小写在两端口径不同。第二天这个方案就变成了团队标准做法
bug 的优先级取决于谁发现了它。我抬起头看了看周围,大家都一样。我发现这个字段在数据库里存量是脏的,代码没问题。复盘会上我们把它列成了案例
妈妈觉得我在互联网大厂很风光,只有我知道我大厂里的 title 是高级修 bug 工程师。我愣了两秒,然后继续敲代码。我把这个异常上报到了监控平台,至少下次能早点知道。幸好之前留了备份
bug 的优先级取决于谁发现了它。我在心里点了点头。我发现是序列化的问题,字段名大小写在两端口径不同。第二天这个方案就变成了团队标准做法
问题居然复现不了了,这比复现出来更可怕。我想反驳,但发现他说得对。我把这个函数的入参和出参都打了,发现中间少了一层转换。那一刻我觉得自己还是很专业的