.NETの命名規則「変数や関数にどのような名前をつけるべきか?」という.NETの命名規則について、ヘルプでは次のようなページで触れられています。 またオフィシャルではありませんが、中西庸文さんが「VB.NET コーディング標準」を、河端善博さんが「C#コーディング標準」を公開されています。両者は平鍋健児さんの「Javaコーディング標準(オブジェクト倶楽部バージョン)」を参考にして作られたものとのことですが、前に紹介したヘルプの内容をまとめ且つ補充されたような内容になっており、かなり参考になります。「eXtreme Programming FAQ」から入手できます。 これらをすべて読んでいただければ.NETの命名規則について理解出来ると思いますが、ここでは私なりにこれ以上はないというほど簡単に.NETの命名規則を説明されていただきます。 まず基本は、「単語で構成された、誰でも分かるような名前をつける」ということです。 さらに、プライベートフィールド、ローカル変数、パラメータにはCamel形式(識別子の最初の文字は小文字にし、後に続いて連結されている各単語の最初の文字を大文字にした形式。例:backColor)、それ以外はすべてPascal形式(識別子の最初の文字と、後に続いて連結されている各単語の最初の文字を大文字にした形式。例:BackColor)の名前を付けるようにします。 以上の規則だけ覚えていれば、ほとんどの場合問題ないでしょう。さらに詳しい規則を以下に列挙しますが(一部ヘルプからの抜粋)、詳しくは、ヘルプ等をご覧ください。なお、プリフィックスとは接頭語、サフィックスとは接尾語の意味です。
VB6以前の命名法を使っていた方への補足ここからはVB6以前のプリフィックスを使った命名法に慣れ親しんだ人のための補足説明です。プリフィックス(接頭語)を使った命名規則はどこへ行ったのでしょうか? Visual Basicでは今まで変数名にプリフィックスを付ける方法が推奨されていました。Integer型には"int"、String型には"str"、テキストボックスコントロールには"txt"、フォームには"frm"を名前の頭につける、さらにはモジュールレベル変数には"m"も付ける、という具合です。このことは「Visual Basic Coding Conventions」に明記されています。 このように識別子にプリフィックスを付ける方法は「ハンガリアン記法(Hungarian Notation)」(または「ハンガリアン命名規約」、「ハンガリアン表記法」、「ハンガリー型表記法」など)と呼ばれています。(これはMicrosoftの技術者Charles Simonyi氏が考えた方法であり、この命名法で付けられた変数名が英語らしくなく、彼がハンガリー人だったことからこのように呼ばれています)。この方法はVBだけでなく、Microsoftがさまざまな場面で長年使ってきた方法であり、特にWindowsプログラマには広く広まっています。(ここでは拡張されたハンガリアン記法も含めてハンガリアン記法とさせていただきます。) ところが.NETでは一転してこのハンガリアン記法は使うべきではないとされています。これに関しては賛否いろいろな意見があるようですが、最終的にどのような命名規則を使用するかはご自分の都合に合わせて判断すればよいでしょう。 プロパティに関連したフィールドの命名について最後に「プライベートなフィールドにアクセスするためのプロパティ(及びフィールド)にはどのような名前をつけるべきか?」という問題に触れておきます。例えば、プロパティ"DataSource"があり、そのプロパティによりアクセスされるプライベートなフィールドにはどのような名前をつければよいのでしょうか?実はこの問題にヘルプは答えを与えるどころか、彼らには何一つ良いアイデアがないらしいことをうかがわせる記述があるのみです。(これに関してはメールマガジン「.NETプログラミング研究」の第3号と第11号をご覧ください。) .NET FrameworkのライブラリをReflector for .NETなどで逆アセンブルすると、このようなケースでフィールド名に"m_"や"_"プリフィックスをつけたり、頭を小文字にしてCamel形式にしているケースが多いようでした。ドキュメントでは、プレフィックスの使用や、大文字と小文字だけで名前を区別することを禁止しているので、これらが正しい方法であるかは分かりません。
(この記事はメールマガジン「.NETプログラミング研究」で紹介したものです。) |
|
Copyright 2002-2008 DOBON!. All rights reserved.
|