1. ホーム
  2. oop

クラスが静的なフィールドとメソッドしか持たないのはバッドプラクティスですか?

2023-08-22 15:42:12

質問

以下のような構成になっているクラスがあります。 のみ で構成されるクラスがあります。本質的に、それは汎用のユーティリティクラスとして機能しています。

クラスが静的メンバ変数と静的メソッドのみを含むことはバッドプラクティスですか?

どのように解決するのですか?

いいえ、私は全くそうは思いません。 特定のインスタンスに実際に依存しないインスタンスメソッドでいっぱいのクラスを持つことは、より悪い習慣です。 静的メソッドを作成することで、それらがどのように使用されることを意図しているのかをユーザーに正確に伝えることができます。 さらに、この方法で不必要なインスタンス化を避けることができます。

編集: 余談ですが、一般的に、言語機能を「なぜなら」「それがJavaのやり方だから」という理由で使用するのは避けるべきだと思います。 最初の仕事で、静的ユーティリティ・メソッドでいっぱいのクラスを作ったとき、上級プログラマーの一人が、私のメソッドをすべて"グローバル"にして、JavaのOOパワーを完全に利用していないと言ったことを思い出します。 彼女は6ヶ月後にはチームにいませんでした。