gpt4 book ai didi

java - 为什么静态变量被认为是邪恶的?

转载 作者:行者123 更新时间:2023-12-02 03:08:14 25 4
gpt4 key购买 nike

我是一名刚刚进入企业界的 Java 程序员。最近我使用 Groovy 开发了一个应用程序和 java 。我编写的所有代码都使用了大量的静态数据。高级技术人员要求我减少静力学的使用数量。我在谷歌上搜索了同样的内容,发现许多程序员非常反对使用静态变量。

我发现静态变量使用起来更方便。而且我认为它们也很高效(如果我错了,请纠正我),因为如果我必须对类中的函数进行 10,000 次调用,我会很高兴将该方法设为静态并使用简单的 Class .methodCall() ,而不是用 10,000 个类实例来困惑内存,对吗?

此外,静态还减少了对代码其他部分的相互依赖性。他们可以充当完美的国家持有者。除此之外,我发现静态在某些语言中广泛实现,例如 SmalltalkScala 。那么,为什么程序员中(尤其是 Java 领域)普遍反对静态呢?

PS:如果我对静力学的假设有误,请纠正我。

最佳答案

静态变量代表全局状态。这很难推理,也很难测试:如果我创建一个对象的新实例,我可以在测试中推理出它的新状态。如果我使用使用静态变量的代码,它可能处于任何状态 - 并且任何东西都可能修改它。

我可以继续说很长一段时间,但要考虑的更大概念是,某件事的范围越紧密,就越容易推理。我们善于思考小事情,但如果没有模块化,就很难推理百万行系统的状态。顺便说一句,这适用于各种事物 - 不仅仅是静态变量。

关于java - 为什么静态变量被认为是邪恶的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com