问题居然复现不了了,这比复现出来更可怕。我停了一下,然后继续手上的活。我发现这个字段在数据库里存量是脏的,代码没问题。真香定律准时生效
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我忽然觉得,这可能就是这一行的常态。我最后发现是一个大小写问题。这大概就是程序员的人生吧
问题居然复现不了了,这比复现出来更可怕。我发现自己居然没法反驳。我把这个依赖的版本锁死了,问题不再随机出现。那一刻我觉得自己还是很专业的
调试的本质是不断缩小「问题不在这里」的范围。我愣了两秒,然后继续敲代码。我在心里把这个 bug 的可能性列了五条,第一条就对了。幸好之前留了备份
调试到后面会发现,最大的敌人是自己的假设。我愣了两秒,然后继续敲代码。我把这个问题的复现概率测了一下,大概百分之三。好在最后有惊无险
调试最花时间的不是修,是确认自己修的是对的地方。我不知道该说什么,就笑了笑。我发现是浮点数精度的问题,改用大数就好了。从此我多了一条团队规约
加了二十行 console.log 之后,Bug 消失了,删除它们,Bug 又回来了。我盯着那段代码看了二十分钟,最后发现是我自己三天前改的。幸好之前留了备份
调试是有惯性的,停下来反而更容易想通。我愣了两秒,然后继续敲代码。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。真香定律准时生效
我在本地复现了十次,第十一次它变了样子。我在第一步就设了个断言,结果它当场就炸了。同事说这波操作可以写进新人培训教材
我把这个堆栈从头读到尾,关键信息在最后一行。我先确认了一遍前置条件,再动手。我发现是浮点数精度的问题,改用大数就好了。真香定律准时生效