Index: [Article Count Order] [Thread]

Date:  Thu, 05 Jul 2001 10:22:09 +0900
From:  Kenji Hiranabe <hiranabe@....jp>
Subject:  [XP-jp:02116] Re: XP 日誌
To:  extremeprogramming-jp@....jp
Message-Id:  <20010705102209G.hiranabe@....jp>
In-Reply-To:  Your message of "Thu, 05 Jul 2001 09:16:00 +0900"	<20010705091414.F6B4.K_IKAGAWA@....jp>
References:  <20010705091414.F6B4.K_IKAGAWA@....jp>
X-Mail-Count: 02116

いかがわさん,
平鍋です.

On Thu, 05 Jul 2001 09:16:00 +0900,
"IKAGAWA, Kauztomo" <k_ikagawa@....jp> said:

>> else if (sex.equals("FEMALE"))
>> sex = "FEMAIL";

 > Spell missがありますが、大丈夫でしょうか。
 > 実際のコードからのコピー&ペーストでなければ良いのですが・・・。

あ,間違ってます.コピー&ペーストではありませんので,良かっ
たです.この後,

  static final String FEMALE = "FEMALE";
  static final String MALE = "MALE";

をクラスに加えて,文字列リテラルの繰り返しを避けるリファクタ
リングを掛けました.

他の案として,C の enum 的に Sex リテラルを作る,という案が
ありました.

final class Sex {  // like enum Sex { NOT_SPECIFIED, MALE, FEMAIL };
    int sex;
    public static final Sex NOT_SPECIFIED = new Sex(0);
    public static final Sex MALE = new Sex(1);
    public static final Sex FEMALE = new Sex(2);
    private Sex(int sex) { // !! private !!
        this.sex = sex;
    }
}

class Person {
   String name;
   private Sex sex = Sex.NOT_SPECIFIED;
   // ...
}

でも,今回は,複雑すぎる,ということでシンプルに String にし
ました.

以上