Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

guice/Manual/BestPractices/AvoidStaticState

静的状態を避けよ

静的状態とテスト容易性は敵どうしである。 テストは素早く副作用無しに行われなければならないが、 staticフィールドに保管される定数以外の値は取り扱いが困難である。 テストによってモックされた静的なシングルトンをきちんとティアダウンすることはトリッキーであるし、他のテストにも影響を及ぼしかねない。

requestStaticInjection()は助けになる。 GuiceはこのAPIを静的に構成されたアプリをDIに用意にマイグレーションできるように用意している。 Guiceを使って新しいアプリケーションを書く場合は、このAPIを使うべきではない。

静的状態は悪であるが、staticキーワードを使うことは別に悪くない。 staticクラスはOKであるし(むしろ推奨される!)、純粋関数(ソートや数学関数など)はstaticでよい。