私の職場では、現在、静的クラスに対する十字軍が存在しているようです。私はその一部を理解することができます、彼らはモジュール性をテストするユニット全体を壊すようなものです。ただし、静的クラスの削除を要求するコードレビューの流入が見られます。
一般的なケースは、コンパイル時に「既知」である他のいくつかのオブジェクトが春に注入されるユーティリティクラスです。他のメンバー変数はありません。クラスMがこの静的クラスを呼び出している場合、このユーティリティクラスを非静的にして、クラスMに注入するという提案が常に表示されます。
これは私には意味がありません。時間の無駄に見え、ユーティリティクラスが使いにくくなること以外は特に問題はありません。私が知る限り、正当化は通常単体テストのためですが、テストパラダイムに準拠するために有効なコードを変更する必要があるという考えは好きではありません。確かに、単純な静的ユーティリティクラスをモックするのはおそらくやり過ぎでしょう。
このユースケースでは静的クラスが適切ですか、それとも回避するのが最善ですか?