使用全局变量来防止代码不必要地重复执行

问题描述 投票:0回答:1

TL; DR:使用全局变量来防止不必要的代码执行是一种不好的做法,如果可以,还有哪些选择?

我有一个Electron应用程序,它从另一个应用程序中读取实时数据流,并将其某些元素输出到屏幕上。

有两种类型的数据,一种是当前正在进行的实时(遥测)数据,另一种是每几秒钟更新一次的静态数据(sessionInfo)。

第一次收到sessionInfo数据包时,我需要根据其中的某些数据来定位和调整某些UI元素的大小。在使用应用程序的过程中,这些数据绝对不会改变,因此我不希望基于该数据的计算多次执行*。我需要侦听所有sessionInfo数据包,收到它们后我还要对它们进行其他处理,只是数据的这一特定部分只需要考虑一次。

鉴于以上情况,是否适合使用全局变量来存储此信息(甚至只是表示该信息已被处理的标志)并使用它来防止代码执行多个时间?我的所有阅读都表明,全局变量从来都不是一个好主意,但是由于不允许重复执行此代码,我不确定在这里有什么替代方法。

* 我认识到允许这样做可能对我的应用程序没有任何实际影响,但这对我来说是一种学习经验,同时也产生了一些有用的东西,因此我想了解“正确的”方法,而不是仅仅局限于某些东西。效率低下并使其起作用。

TL; DR:使用全局变量来防止不必要的代码执行是一种不好的做法,如果可以,还有哪些选择?我有一个Electron应用程序,它读取实时数据流...

javascript node.js scope electron global
1个回答
0
投票

全局变量通常是一种不好的做法,原因很多,例如:

© www.soinside.com 2019 - 2024. All rights reserved.