【NO.20 - 221028】
有这么一种BUG,叫做heisenbug,也就是Heisenberg + BUG,可以翻译成海森BUG。
那么知道海森堡的人,大概就能猜出这是一种怎样的BUG了。
没错,就是那些在尝试DEBUG或者观测时就会神秘消失的BUG!(握拳)
所以说编程就是个玄学!
当然,这是句半玩笑话……
出现heisenbug的原因和调试时的环境,变量的内存地址,以及变量的初始化情况等等有关——虽然这些东西的确如玄学般难以预测和观测就是了,但总体还是遵循科学的。
这也是为啥DTS目前会有先锋服(https://dts.23333.online/)的存在,就是让大量的观测者去进行测试,尝试揪出这些BUG。
此外,类似的说法还有:
bohrbug - 如玻尔模型那样确定的BUG
schrödinbug - 在永远不应该被触发的情况之下发生的BUG
mandelbug - 如曼德博集合那般可能会发散到无限大规模的BUG - 也就是那些越修越多的BUG