[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: ローカル変数とフィールド




仕事が終わりそうで結構暇になりつつあり...
# 次の仕事なんかないかなあ.

まだ読ませていただいていない状態で書いてます.すみません.
In article <37FCBE3B.D9E6EF41@xxxxxxxxxx>
Toru TAKAHASHI wrote:
>の区別がつかないのでかなり読むのに苦労するからです。しかし、この
>AmbySoftの基準では、同じクラス内で宣言されるフィールドですら直接
>使用せずにgetter/setterメソッドを介してアクセスせよとあるので、
>それはそれで一貫性が備わっていると考えます。

privateフィールドに対してもprivateなgetter/setterを用意しないとい
けないってことですか?
まあソースが長くなるという意味での可読性悪化と局所的に見た時の良
化の天秤でそう言ってみたのかなあ.

>また、別な部分で、"lazy initialization"という方法を使ってフィールド
>を初期化するといいことを唄っています。この設計を行うと、フィールド
>を参照するときは必ず初期化されていること(すなわちnullでない)が
>保証できるので、nullチェックが不要になる等のメリットがあります。
>また、必要時に初期化するという考え方もいいですね。
>
>public class HoHo {
>  private HaHa haHa = null;
>
>  protected HaHa getHaHa() {
>    if (haHa == null) {
>      haHa = new HaHa();
>    }
>    return haHa;
>  }

このやり方自体はSingletonの時などによく使う方法ですけど、毎回
nullチェックが入るので頻繁に呼ぶようなものでは性能が落ちるんです
よね...
常にこのやり方を推奨するのもどうかなあという気はしますね.
# もう一個単に返すだけのメソッドも用意する?それじゃ効果半減ですね.


では、仕事もせずに(うそ.そこそこには)ちょっと読んでみます.

──────────────────
木下 信@イデア
──────────────────