TL; DR:使用全局变量来防止不必要的代码执行是一种不好的做法,如果可以,还有哪些选择?
我有一个Electron应用程序,它从另一个应用程序中读取实时数据流,并将其某些元素输出到屏幕上。
有两种类型的数据,一种是当前正在进行的实时(遥测)数据,另一种是每几秒钟更新一次的静态数据(sessionInfo)。
第一次收到sessionInfo数据包时,我需要根据其中的某些数据来定位和调整某些UI元素的大小。在使用应用程序的过程中,这些数据绝对不会改变,因此我不希望基于该数据的计算多次执行*。我需要侦听所有sessionInfo数据包,收到它们后我还要对它们进行其他处理,只是数据的这一特定部分只需要考虑一次。
鉴于以上情况,是否适合使用全局变量来存储此信息(甚至只是表示该信息已被处理的标志)并使用它来防止代码执行多个时间?我的所有阅读都表明,全局变量从来都不是一个好主意,但是由于不允许重复执行此代码,我不确定在这里有什么替代方法。
* 我认识到允许这样做可能对我的应用程序没有任何实际影响,但这对我来说是一种学习经验,同时也产生了一些有用的东西,因此我想了解“正确的”方法,而不是仅仅局限于某些东西。效率低下并使其起作用。
TL; DR:使用全局变量来防止不必要的代码执行是一种不好的做法,如果可以,还有哪些选择?我有一个Electron应用程序,它读取实时数据流...
全局变量通常是一种不好的做法,原因很多,例如: