Index: [Article Count Order] [Thread]

Date:  Thu, 15 Jun 2000 01:11:17 +0900
From:  "Hisashi Yoshida" <steven@....jp>
Subject:  [XP-jp:00537] Re: XP Installed26 Part1 Test-first, by Intetion
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <006e01bfd61b$9389b5c0$281e140a@tokura>
References:  <200006111354.WAA24861@....nu>
Posted:  Thu, 15 Jun 2000 00:36:50 +0900
X-Mail-Count: 00537

よしだです。

#おもしろそうと言っといてMLを読めなかった…。m()m
元々やろうとしている方法でコメントするとすべての部分に
コメントが必要なので、やりずらいので部分にコメントします。

> =   ところで、原文の「Constructor Parameter method」は、どういうものなのでしょう
> =   か?

Constructor Parameter Methodなど大文字で書かれているものは、
Kent Beckの著書“Smalltalk Best Practice Patterns”のパターンで
す。

XPのプロジェクト(C3)では、これをCoding Standardとしています。
(XPractice参照)

> 「リファクタリング」の邦訳をお持ちなら、173ページの、自己カプ
> セル化フィールドを使用する場合のコンストラクタの例が参考になる
> のではないでしょうか。

じつは、この例のとおりの内容です。ただ、命名の方法は「頭に
setを付け、後に初期化するフィールド名をならべる」となっている
ので、setName: amount:となっています。

>     IntRange(int low, int high){
>         initialize(low, high);
>     }

>     private void initialize(int low, int high){
>         _low = low;
>         _high = high;
>     }

> このinitialize()が良く似ています。(もっとも、voidでもprivateで
> もありませんが)

voidについてはJavaではそれで十分でしょう。privateかどうかとい
う話では、このConstructor Parameter Methodは、Smalltalk
のプロトコルのprivateというところに分類していれておくので同様の
意味であると考えられます。
--
吉田 尚志 steven@....jp