工作中遇到的奇怪bug😂不吐不快(3)

2019-07-17

前情提要

工作嘛,总有一堆烦心事;每天就是努力扮演一个情绪稳定的成年人。
然后在遇到奇奇怪怪的bug之后,总能一秒破功,让人抓狂,尤其是当bug实在是太智障的时候,让人不禁想问一句:“这尼玛都什么沙雕玩意儿?!”

⚠️在此绝不diss任何码农、攻城狮、程序猿。生活不易,头顶易秃,和气生财。

使用React ModalList躺坑记

之所以叫躺坑记,是因为到最后都不是我自己爬出来的,是被老大捞起来的,真的很生气很内伤了。😢哭哭。


一切的故事都要从我接下的那个延期一年多期间换了三个前端四个后端的坑爹项目说起,啊,顺便一说,接手过这个项目的前任工程师们都先后离职了,可见这个项目有多么的邪门儿😂。

机缘之下,我成了这个项目的第三任前端继承者。在我勤勤恳恳辛辛苦苦工作的档口,后端工程师的连续变动以及其他项目排期优先级的压迫之下,这个项目到底还是暂停了。我写了一半的bug就这么保留了小半年,又在一阵乒乒乓乓叮叮当当敲锣打鼓庆祝新大老板上任后,此项目紧急重启。原因呢,是因为新大老板嫌之前的项目UI太丑,勒令我们重构。既然有了新老板的直接命令,产品便把这个项目的优先级从最低kuangkuangkuang提升到了第一,而且时间排期还非常紧迫。

没办法,硬着头皮也得上,还好这次合作的后端小姐姐是个很可靠的人er。
说真的,眼看着自己半年前写的bug,改起来的痛苦是真的double的,因为吧,你还不能一边改一边骂sb🤦‍虽然有时是真的气得想骂自己sb。

然后我就真的sb了。一个bug卡了我两天,最后真的被磨得没脾气,不得不求救老大。老大三下五除二搞定了,我还不信这问题就这么简单???实际上,真的很简单,就是一个属性key的问题。在同页面上注册多个ModalList结果会可能错位或是重新渲染的时候报没有undefined再或者是parent Component必须存在的错误,本地测试No problem,测试环境跑起来Be killed。这个key啊,原来就是这个key啊啊啊啊啊!


总结一下这次debug的经验,我觉得有三个方面:

  1. React的错误提示太过于匪夷所思,让人不知所谓。这是客观问题。
  2. 主观上,我也必须要深刻的反省自己的畏难情绪。不能因为一个bug觉得自己弄不出来就把锅扔出去,逃避自己的责任。
  3. 在修复bug的时候,不应该一开始就去预设别人代码中有错误,而更应该从自己的调用代码开始检查起。不应该舍近求远,而且事实证明,大部分问题都是自己的问题而不是别人的。┓( ´∀` )┏