全局状态与全局变量
Global state vs global variable
我很好奇这些是不是一回事。
我理解全局变量是存在于函数外部的变量,可以在我的任何函数中使用,而局部变量是只能在特定函数中使用并由特定函数使用的变量。
什么是全局状态?什么是本地状态?它们只是用来描述使用 global/local 个变量的效果的术语吗?
此外,全局状态和局部状态之间有什么区别?它们如何影响程序?
谢谢。
基本上你的假设是正确的。所有全局变量的集合称为全局环境或全局状态。这是一种影响代码执行的方式,隐藏在视线之外 - 应该避免,除非在特殊情况下(见下文)。很快就会变成一场噩梦。
本地状态则相反,更可取。使用局部变量可以完全控制您的本地状态。它使您更容易阅读和更改代码,并且更容易找到其中的错误。此外,您不会影响代码的其他部分。
它归结为对代码有更多控制的问题,当您使用变量封装时,functions/methods,等等。
全局变量很有用,例如当您的代码需要在不同环境中 运行 时(例如 dev/staging/integration/production)。配置通常是全局的。除此之外 -> 使用当地人。
希望对您有所帮助
我很好奇这些是不是一回事。
我理解全局变量是存在于函数外部的变量,可以在我的任何函数中使用,而局部变量是只能在特定函数中使用并由特定函数使用的变量。
什么是全局状态?什么是本地状态?它们只是用来描述使用 global/local 个变量的效果的术语吗?
此外,全局状态和局部状态之间有什么区别?它们如何影响程序?
谢谢。
基本上你的假设是正确的。所有全局变量的集合称为全局环境或全局状态。这是一种影响代码执行的方式,隐藏在视线之外 - 应该避免,除非在特殊情况下(见下文)。很快就会变成一场噩梦。
本地状态则相反,更可取。使用局部变量可以完全控制您的本地状态。它使您更容易阅读和更改代码,并且更容易找到其中的错误。此外,您不会影响代码的其他部分。
它归结为对代码有更多控制的问题,当您使用变量封装时,functions/methods,等等。
全局变量很有用,例如当您的代码需要在不同环境中 运行 时(例如 dev/staging/integration/production)。配置通常是全局的。除此之外 -> 使用当地人。
希望对您有所帮助