2

私はしばらくの間Javaでコーディングしてきましたが、変数クラスレベルを作成するか、最終的なローカル変数を作成するかを決定する必要があるため、コード内にスコープがあります。この決定を下すための標準またはロジックはありますか?特定の方法でそれを行うための賛否両論はありますか?

回答をよろしくお願いします。

4

1 に答える 1

11

一般に、可能な限り限定的なスコープを使用することをお勧めします。その理由は、クラスの書き込みが不十分なユーザーがクラスの内部をいじってバグを引き起こすのを防ぐためです。

私があなただったら、可能であれば、すべての変数をプライベートおよびローカルにします。非最終的なものにする必要がある場合は、非公開にして、setter メソッド (およびもちろん getter) を介したアクセスのみを許可します。

必要に応じて、後でいつでもスコープを開くことができますが、属性が存在して使用されると、その属性をロックダウンするのははるかに困難です。

より詳細な説明については、Effective Javaの「クラスとメンバーのアクセシビリティを最小限に抑える」および「不変性を優先する」を参照してください。古典的な読み物

于 2013-01-02T22:48:23.173 に答える