静的変数はなぜ悪とみなされるのか?質問する

静的変数はなぜ悪とみなされるのか?質問する

私は企業の世界では新人のJavaプログラマーです。最近、グルーヴィーそして Java。私が書いたコード全体を通して、かなりの数の静的変数が使用されていました。上級技術担当者から、静的変数の使用数を減らすように言われました。同じことについて Google で調べたところ、多くのプログラマーが静的変数の使用にかなり反対していることがわかりました。

静的変数の方が使いやすいと思います。また、静的変数は効率的でもあると思います (間違っていたら訂正してください)。クラス内の関数を 10,000 回呼び出す必要がある場合、クラスのClass.methodCall()10,000 個のインスタンスでメモリを乱雑にする代わりに、メソッドを静的にして、そのメソッドに対して直接 を使用できればうれしいですよね。

さらに、静的関数はコードの他の部分との相互依存性を減らします。静的関数は完全な状態保持者として機能します。これに加えて、静的関数は次のような言語で広く実装されています。雑談そしてスカラでは、なぜこのような静的表現に対する反対がプログラマー(特に Java の世界)の間で広まっているのでしょうか?

PS: 静力学に関する私の仮定が間違っている場合は、訂正してください。

ベストアンサー1

静的変数はグローバル状態を表します。これは推論が難しく、テストも困難です。オブジェクトの新しいインスタンスを作成すると、テスト内でその新しい状態を推論できます。静的変数を使用しているコードを使用する場合、その状態はどのようなものでもかまいません。また、何でもそれを変更できる可能性があります。

まだまだ話は続きますが、もっと大きな概念として、物事のスコープが狭ければ狭いほど、推論しやすくなるということが挙げられます。私たちは小さなことについて考えるのは得意ですが、モジュール性がなければ、100 万行のシステムの状態について推論するのは困難です。ちなみに、これは静的変数だけでなく、あらゆるものに当てはまります。

おすすめ記事