在C/ c++中,全局变量像我的教授认为的那样糟糕吗?
当前回答
如果您的代码有可能在最高法院审判期间被严格审查,那么您应该确保避免使用全局变量。
请看这篇文章: 漏洞百出的酒精测试仪代码反映了源代码审查的重要性
There were some problems with the style of the code that were identified by both studies. One of the stylistic issues that concerned the reviewers was the extensive use of unprotected global variables. This is considered poor form because it increases the risk that the program state will become inconsistent or that values will be inadvertently modified or overwritten. The researchers also expressed some concern about the fact that decimal precision is not maintained consistently throughout the code.
伙计,我敢打赌那些开发人员希望他们没有使用全局变量!
其他回答
全局变量有多糟糕就有多糟糕。
如果您正在创建一个完全封装的程序,则可以使用全局变量。使用全局变量是一种“罪过”,但编程的罪过在很大程度上是哲学上的。
如果你看看洛杉矶。你会看到一种语言,它的变量是全局的。它是不可伸缩的,因为所有的库都只能使用全局变量。
也就是说,如果您有选择,并且可以忽略程序员的哲学,那么全局变量并不是那么糟糕。
Gotos也是,如果你使用得当的话。
最大的“坏”问题是,如果你使用错误,人们尖叫,火星着陆器坠毁,世界爆炸....或者类似的东西。
当涉及到配置时,全局是很好的。当我们希望我们的配置/更改对整个项目产生全局影响时。
因此,我们可以改变一个配置,并将更改指向整个项目。但我必须警告你,你必须非常聪明地使用全局变量。
全局变量是不好的,如果它们允许您操作应该只在本地修改的程序的某些方面。在面向对象编程中,全局变量经常与封装思想相冲突。
我认为你的教授试图在一个坏习惯开始之前就阻止它。
全局变量有自己的位置,就像许多人说的,知道在哪里和何时使用它们可能很复杂。所以我认为与其深入研究全局变量的原因,方式,时间和地点教授决定禁止。谁知道呢,将来他可能会取消禁令。
如果您的代码有可能在最高法院审判期间被严格审查,那么您应该确保避免使用全局变量。
请看这篇文章: 漏洞百出的酒精测试仪代码反映了源代码审查的重要性
There were some problems with the style of the code that were identified by both studies. One of the stylistic issues that concerned the reviewers was the extensive use of unprotected global variables. This is considered poor form because it increases the risk that the program state will become inconsistent or that values will be inadvertently modified or overwritten. The researchers also expressed some concern about the fact that decimal precision is not maintained consistently throughout the code.
伙计,我敢打赌那些开发人员希望他们没有使用全局变量!