Top > コーディング規約 > setter/getterを使う

setter / getter を使う

クラスのメンバメソッドを使うとき、何気なく、下記の様に記述してきました。

この中で「thisClass.mFileFrom = new File( aArgs[0] );」の箇所は、
実は改善した方が良いと思います。

「thisClass.setFileFrom( new File( aArgs[0] ) );」と書き換えることを
お勧めします。

というのは、クラスがだんだん大きくなっていき、mFileFromを設定/参照する
箇所が増えてくると、いつ値を書き換えたのか、だんだん分からなくなってきます。

そんなとき、メンバ変数を書き換える箇所を setterメソッドの1箇所に集約すると、
デバッグの際に、非常に便利になります。

setterメソッドに、デバッガでブレークポイントを張っても良いし、ログメッセージを
入れても良いと思います。予想外のタイミングで、メンバ変数が書き換えられる不具合の
発見は非常に難しいので、最初に予防線を張っておくと良いでしょう。

修正したソースコード

なお、今回の例では、setter / getter の両方とも、publicスコープに
していますが、外部公開する必要がなければ、 private スコープにしておくと
良いでしょう。