私はしばらくの間Javaでコーディングしてきましたが、変数クラスレベルを作成するか、最終的なローカル変数を作成するかを決定する必要があるため、コード内にスコープがあります。この決定を下すための標準またはロジックはありますか?特定の方法でそれを行うための賛否両論はありますか?
回答をよろしくお願いします。
一般に、可能な限り限定的なスコープを使用することをお勧めします。その理由は、クラスの書き込みが不十分なユーザーがクラスの内部をいじってバグを引き起こすのを防ぐためです。
私があなただったら、可能であれば、すべての変数をプライベートおよびローカルにします。非最終的なものにする必要がある場合は、非公開にして、setter メソッド (およびもちろん getter) を介したアクセスのみを許可します。
必要に応じて、後でいつでもスコープを開くことができますが、属性が存在して使用されると、その属性をロックダウンするのははるかに困難です。
より詳細な説明については、Effective Javaの「クラスとメンバーのアクセシビリティを最小限に抑える」および「不変性を優先する」を参照してください。古典的な読み物