じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

アンダースコアから始まるメンバ名

アンダースコア (アンダーバー) から始まるメンバ名は、共通言語仕様 (CLS) に違反します。
ただし、protected、protected internal、public のアクセス修飾子であるメンバだけです。

コンパイラの警告 (レベル 1) CS3008
http://msdn2.microsoft.com/ja-jp/library/x8ak87y5.aspx

プロパティ変数を使う場合に「直接使うのは避けろ」という意味合いなどで、
アンダースコアから始まる変数名を付ける方は多いかと思いますが、
それ以外の理由で使っている方はいるのでしょうか?

やはり、プロパティ変数以外のメンバでは使うな、が正解でしょうか。
私は、区別をつけるために、ただのプライベート フィールドは Camel 形式の命名を使っています。
MSDN の命名規則でもそうなっていますし、自動生成されるコードもそうなっていますからね。(^^)

他のメンバについては、Microsoft のガイドラインに従うのが 1 番ですね。

投稿日時 : 2006年2月17日 10:17

コメントを追加

# re: アンダースコアから始まるメンバ名 2006/02/17 10:46 がる

がるです。
私は教わった方からの流儀の影響で、クラス変数(メンバ)は「名前の後ろにアンスコ」ですねぇ。

public int code1_ = 0;
internal int code2_ = 0;

ちなみに変数メソッドのいずれも、大文字はめったに使わないで、やっぱりそこもまたアンスコで埋めていきます。
例えば
areaCode_;
ではなくて
area_code_;
みたいな感じで。

この辺はなんていうか「良し悪し」よりも「どんな源流からの流儀なのか」っていう意味で、肯定的に捉える限りにおいて非常に面白い話だと思ってます。
「こーゆー時にこーゆー表記は便利」自慢も好きかも(笑

# re: アンダースコアから始まるメンバ名 2006/02/17 11:46 中博俊

日本語にはそんな概念が無いのでそれを利用するわけには行きませんな。>camel

# re: アンダースコアから始まるメンバ名 2006/02/17 12:15 じゃんぬ

では、プリフィクスでもつけておきましょうw

# re: アンダースコアから始まるメンバ名 2006/02/19 1:30 επιστημη

「アタマに_」は避けてます。C++屋ですから。
かといってMFCが流行らせた'm_'はサブイボ立つほど嫌い。
なのであたしゃ「ケツに_」です。
# その昔、お手本としているコードに倣っただけ

変数名/メソッド名はヘビ(area_code)かラクダ(areaCode)かで揺れてます。
アタマが大文字なのは嫌い。
System.Console.WriteLine なんて書かれると、どこまでnamespaceでどこまでclassでどこまでmethodかわかりゃしねぇ。

# re: アンダースコアから始まるメンバ名 2006/02/19 9:22 じゃんぬ

うほ! えぴすてーめーさんだぁ!! (w
このセリフは何回言ってるだろう...w

> かといってMFCが流行らせた'm_'はサブイボ立つほど嫌い。
> なのであたしゃ「ケツに_」です。

しかし、やろうとしている目的は変わらないんですよね。
識別よりか差別化の意味合いが強いとは思いますが。

先頭 m_ はダサイですよね。はい。
ただ、末尾のアンダースコアも区別が付きにくいんですよ。
特に VS を使っているとラインと重なっちゃう場合があって悲惨です。

この手のものがプリフィクスなのって人間が先頭である程度判断しちゃうからなんですよね。
サフィックスだと見逃す可能性があると。

VB6 の時は、アンダースコアなしの m をプリフィクスしていた時期がありましたね。

> 変数名/メソッド名はヘビ(area_code)かラクダ(areaCode)かで揺れてます。
> アタマが大文字なのは嫌い。

郷に従うようにしています。
Java なんかだとメソッドは素直に Camel ですね。

> どこまでnamespaceでどこまでclassでどこまでmethodかわかりゃしねぇ。

このあたりは慣れもあるんですが、命名が一般的でない場合があります。
namespace って NCL に倣った命名をするので大体わかります。
メソッドとの区別は末尾の () に他なりません

# re: アンダースコアから始まるメンバ名 2006/02/19 19:51 中博俊

あーえぴすさんだ(*_*)
わんくま同盟はいりませんかー(^^;;;

もちろんC++ではアンスコプレフィックスなんてやりません。
意味を持っていますからね。

m_はサブイボ級ですか。(^^

基本的にアンダースコアがあるとCLS的にはよくないみたいなので、VB6風のmプレフィックスにしようかなんて考えています。

# re: アンダースコアから始まるメンバ名 2006/02/19 22:56 επιστημη

> わんくま同盟はいりませんかー(^^;;;

なんかいいことある?

> 基本的にアンダースコアがあるとCLS的にはよくないみたいなので

privateメンバでもダメなんすか?

# re: アンダースコアから始まるメンバ名 2006/02/20 1:54 中博俊

えー(^^;;;
いいことはblogができるくらいでしょうか。(^^
あとはバナーがはれます(^^

# re: アンダースコアから始まるメンバ名 2006/02/20 9:43 じゃんぬ

http://episteme.wankuma.com/ にサイトスペースが持てる。
http://blogs.wankuma.com/episteme/ に Blog が建てられる。
hoge@wankuma.com というメールアカウントが取れる。

サイトや Blog には広告は自由に貼ることができる。
わんくまメンバ内からリンクされる。
一部のサイトは PV が高いので、本の宣伝くらいは手伝うことができそう。
あとは、えぴすさんが MSMVP かどうかで変わってきそうです。

個人的には、サイトでも Blog でもどちらでも良いので、
色々とえぴすさんの意見を聞けたら嬉しいなぁなんて思っております。
どこかでも言いましたが、えぴすさんの文章って読んでて楽しいですから。

# re: アンダースコアから始まるメンバ名 2006/02/20 12:51 επιστημη

# ごめんね本筋から外れまくって。

サイトスペースとblog貰えるの?
ぢゃ、まぜて。もろもろ手続きよろしくです。
(個人的には'わんくま'よか'にゃんとら'好みっす)

# re: アンダースコアから始まるメンバ名 2006/02/20 13:02 じゃんぬ

>επιστημη さん
よっしゃ!!
あとは中さんからメールをよこさせますね。

メールアドレスは、らららさんで晒している cppll.jp ドメインので良いですよね?

> # ごめんね本筋から外れまくって。

あ、気にしないでください。
実は私も何度かお声をかけようとしていましたからw
ご一緒できるなんて、とても光栄です。

# 何か、わんくま同盟ってすごい人が集まってるなぁ。
# 私の影がどんどん薄くなっていく...w

# re: アンダースコアから始まるメンバ名 2006/02/20 13:08 επιστημη

メールは'そこ'でええです。
コンテンツ考えてねぇです。むちゃくちゃやります(たぶん)。

# 明日P.J.Plaugerタンに会えることになってまつ。会えるといいなゎ

# re: blogだけでは飽き足らず 2008/08/13 23:16 東方算程譚

re: blogだけでは飽き足らず

タイトル  
名前  
URL
コメント