4 回答
TA贡献1843条经验 获得超7个赞
全局变量的问题在于,由于每个函数都可以访问这些函数,因此越来越难以确定哪些函数实际读取和写入这些变量。
要了解应用程序的工作原理,您几乎必须考虑修改全局状态的每个函数。这可以做到,但随着应用程序的增长,它将变得越来越难以实际上不可能(或者至少完全浪费时间)。
如果不依赖全局变量,则可以根据需要在不同函数之间传递状态。这样你就可以更好地理解每个函数的作用,因为你不需要考虑全局状态。
TA贡献1757条经验 获得超8个赞
重要的是要记住总体目标:清晰度
“没有全局变量”规则是存在的,因为大多数时候,全局变量使得代码的含义不那么清晰。
但是,像许多规则一样,人们会记住规则,而不是规则的目的。
我已经看到程序似乎通过传递大量参数来简化代码的大小,以避免全局变量的恶。最后,使用全局变量可以使程序更清晰。通过无意识地坚持规则的话,原来的程序员已经失去了规则的意图。
所以,是的,全局变量通常很糟糕。但是如果你觉得最终,程序员的意图通过使用全局变量变得更加清晰,那就继续吧。但是,请记住,当您强迫某人访问第二段代码(全局变量)以了解第一部分的工作原理时,会自动产生清晰度。
TA贡献1829条经验 获得超6个赞
只有在没有其他选择时才应使用全局变量。是的,那包括单身人士。90%的时候,全局变量被引入以节省传递参数的成本。然后发生多线程/单元测试/维护编码,你就遇到了问题。
所以是的,在90%的情况下,全局变量都很糟糕。您在大学期间不太可能看到例外情况。我能想到的一个例外是处理固有的全局对象,例如中断表。像DB连接这样的东西似乎是全球性的,但事实并非如此。
- 4 回答
- 0 关注
- 543 浏览
添加回答
举报