効果的な Java を読むと、メソッド パラメーターを有効な方法として検証し、パブリック メソッドに対して例外をスローし、プライベート メソッドに対してアサートする必要があることが言及されています。しかし、インスタンス変数に対して何らかの対策を講じる必要がありますか。
EG: (ユースケースとして例をとらないでください。主な質問はDo I need to validate instance var or Not ?
.
class Tree {
private Node root;
public doSomething() {
TreeNode node = root;
}
}
ここで、root
初期化されずdoSomething()
に直接呼び出されたとしましょう。NullPtrException が発生します。
Do we need to guard against it ? If yes then how ? If no then why not ?