2013年4月24日水曜日

[Java][.NET]クラス内でthis.member(メンバ変数)は冗長(改め?)

時々、こういうコーディング見かける時があります。下でいう、makeUniqId()のように、メンバ参照するときにthisつけることを指しています。

class User {
    final private String userId;
    final private String userName;

    public User(String id, String name) {
        this.userId = id;
        this.userName = name;
    }

    public String makeUniqId(String separator) {
        return this.userId + separator + this.userName;
    }
}


正直冗長じゃね?ってずーと思ってきたんですが、実はこれはプレフィックス代わりに使ってるんです。っていうのを何かの文献で発見しました。
これをみて、アアッてなりました。
・・・プレフィックス。ハンガリアンなんてダサいゼって言われ始めてからはや10年以上たちます。こう書かれたときはメンバ変数だってことが一目でわかる。意外といい方法?なのかもしれません。

(ただし、メソッド呼び出すときにthisつけるのは冗長だよね。というのは変わっていない)

0 件のコメント: