Index: [Article Count Order] [Thread]

Date:  Fri, 31 Aug 2001 17:49:28 +0900
From:  "Ito Yoshiichi" <yoshi@....jp>
Subject:  [XP-jp:02449] Re: 接頭句に関して (Re:  バグ・パターン)
To:  <extremeprogramming-jp@....jp>
Message-Id:  <NEBBKMAMPMOONBNHEGBFIEJPCFAA.yoshi@....jp>
In-Reply-To:  <20010831165746J.hiranabe@....jp>
X-Mail-Count: 02449

伊藤@オージスです。

From: Kenji Hiranabe [mailto:hiranabe@....jp]
> 平鍋です.渋川さんの指摘で,リストを修正.
>
> メンバ変数の慣用に関して,現在,存在する有名な流儀は,以下です.
>
> ┌──────────┬────────────────────────┐
> │m_ で接頭           │ MS で使用されている.ハンガリアン記法.        │
> ├──────────┼────────────────────────┤
> │接頭/接尾を付けない │JDKで使用されている.                           │
> ├──────────┼────────────────────────┤
> │ _ で接頭する       │ 書籍「リファクタリング」,「デザインパターン」 │
> ├──────────┼────────────────────────┤
> │d_ で接頭する       │ 書籍「大規模C++ソフトウェアデザイン」          │
> ├──────────┼────────────────────────┤
> │_ で接尾する        │ 書籍「Exceptional C++」                        │
> └──────────┴────────────────────────┘

 my を接頭子でつける場合もあるようですね。Coad の
「Java オブジェクト設計」のソースの一部に使われています。

> 平鍋個人は,Java は何も付けない派.
> 今度から,C++ で "_" 後付けをやってみようと思っている派.

 私はしばらく _ で接頭派でしたが、最近は m_ で接頭派ですね。
ただし型名やポインタを表す接頭子はつけません(キッパリ)。

> because, C++ でコンストラクタの引数は,メンバ引数と同じにで
> きないでしょー,初期化リストで指定する場合.あれが困るので
> す.今までは,逆に引数の方に後付けの _ を付けて,名前を毎回
> 発明するのを避けてました.あるいは,何か名前を発明してまし
> た.

 初期化リストでメンバ変数名と引数名が同じでも問題ないですよ。

  class Dummy {
    int dummy;
  public:
    Dummy(int dummy): dummy(dummy) {}
  };

で今まで問題が発生した記憶はありませんが。struct の場合 m_ を
つけないので、たまにこんなコードを書いたりします。

----------------------------------------
Ito Yoshiichi (伊藤 喜一)
OGIS-RI Co., Ltd. Object Technology Center
E-mail: yoshi@....jp