• ベストアンサー

フィールド(メンバ変数)のプリフィックスについて

C#でプログラムを作っていて、ふと思ったのですが、 皆様は「メンバ変数」であることをあらわすために どんなプリフィックスをつけられていますか? また、その理由も教えていただけると幸いです。 一般的にどんなプリフィックスを使うのかわからなくて、 ネットで検索してみたら、『m_変数名』というものがあったのですが、 別のサイトでは「『m_変数名』は古い」みたいな記述もあり…。 どれが正解でどれが間違いというのは一概に言えないと思うので、 いろんな方の意見を伺いたく存じます。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.2

m_ってのは、C#なんてまだ無かった時代のC++の初期に、当時Microsoftの中の人が昔提唱してたものですね。 C#の場合、個人的にはpublicな変数(struct以外ではまぁ無いけど)にはつけない。 クラスのメンバ変数でもつけないことが多い。 何も無いか、せいぜい「_」のサフィックス/プレフィクスだけとか。 少なくとも、C#でm_は個人的にはありえない。 (C++でも嫌いなので…結局つけることはないですが)

kurage-fuwari
質問者

お礼

ご回答ありがとうございました。 「m_」はやはりありえないのですか…。 そういえば、「_」だけというのは本でも何回か見たことがあります。

その他の回答 (3)

  • talepanda
  • ベストアンサー率58% (45/77)
回答No.4

仕事でかいていて、変数名に規則があれば、それに従う。 仕事でないなら、解りやすいもの。別にm_が古いなんてことはないと思いますが。MFCが(.NETに比べて)古いというなら解りますけど。 いろんなところで議論され尽くしてる感はあるけど、どんなprefixをつかうかなんて、結局は好き嫌いでしかないですね。 ただし、C#はインテリセンスが賢いので、自分で書くときは何も付けないですね。

kurage-fuwari
質問者

お礼

アドバイスありがとうございます。 やっぱり、基本は好き嫌いですよね(^^;) 自分の好みだけで作って、気づかないうちに、他人にわかりにくいコードになっていたら嫌なので、 世間的にはどんな感じなのか気になって質問させていただきました。 talepandaさんが今までに見られたプリフィックスで 「解りやすいもの」とは具体的にどんなものだったか 教えていただけるとありがたいです。

  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.3

小文字、という以外何も。 範囲や内容を限定したければメソッド経由で更新しますから、素のメンバ変数は分かりやすい文脈以外でほとんど使いませんから。

kurage-fuwari
質問者

お礼

ご回答ありがとうございました。 私のコードでは、素のメンバ変数を、 クラス内のいろんな場所で参照しちゃっています(^^;) プリフィックス云々以前に、それ自体がまずいのかなぁ…。

回答No.1

僕は、"メンバ変数"であることを示すシルシはなにも付けない。 付けたところでさほど役には立たないから。

kurage-fuwari
質問者

お礼

ご回答ありがとうございました。 プリフィックスつけなくても、そんなに困らないものなんですね。 今まで何らかのプリフィックスを付けていたので、 次は一度付けずにやってみます。

関連するQ&A