全局变量引起的BUG

时间:2022-05-29 23:46:53

花费3个小时解决了一个问题,时间比较长。

这次问题的原因是全局变量引起的,一个实例的函数用到了全局变量计算一个值,而全局变量的这个值会进行改变,所以在不同时期算出来的值是不一致的。而调用这个实例函数的地方非常隐晦,是几个大模块中比较小的计算部分,但是会导致很奇葩的结果,追踪到这个数值不对真是费了一番功夫。

总结:全局变量要少用,如果确定在一个类中只用到当时的全局变量的值,一定要记录下来。但最好还是少用全局变量,用的时候,保证其稳定性。