命名規則の悩ましさ
ブログにサンプルを載せたりする様になり、改めて考えたのがこの命名規則。
個人で勝手にやってる限りは、自分流の命名方法で構わないだろうが、ブログに載せる分くらいは、そうもいかない気がする。
いくらサンプルとはいえ、他人がソースを読む事を前提にしている訳だから、一般に受け入れられている命名規則に従った方がいいであろう。
しかし、その「一般に受け入れられている命名規則とは?」を真剣に考えても、はっきりしないというのが正直な感想だ。
確かにMSでは、名前に関するガイドラインで基本的な指針を示している。しかし、例えばフィールドの名前付けガイドラインは、「静的なパブリック フィールドとプロテクト フィールドに適用」とあり、「パブリック インスタンス フィールドやプロテクト インスタンス フィールドは定義しない」ともある。しかし、プライベートなフィールドには触れていない。それともどこかに書いてあるのだろうか?一般には、プライベートなフィールドには、キャメルで記述される様になっているが、その根拠はどこにあるのだろうかと思う。
コーディング技法では、変数の項に、「変数とルーチンを区別しやすいように、ルーチン名は Pascal、変数は Camel」の記述があり、ここが根拠の元かなと思えるところもあるのだが...
さらに、混乱するのが自動生成されるメソッドだ。例えば新規にアプリケーションを作成しようとすると、フォームが Form1 という名前で存在する。ここでフォームをダブルクリックすると、自動的に Form1_Load というイベント処理用のメソッドが作成される。しかし、これは名前にアンダーバー"_"が使われている。単語を並べて繋げて、間に記号は使わないという命名規則からいえば、違反事項ではないだろうか?
それに、オブジェクトにプレフィックスを付ける事は悪くない筈で、Form1 を正式な名前として、frmMainWindow 等としてもいい筈だ。しかしこの様に名前を変更した後に、ダブルクリックでLoadイベント処理が自動生成された場合は、frmMainWindow_Load となってしまう。これでは、メソッド名は、Pascal 形式という事にも従わなくなる。
個人的には、昔のVBにも慣れてるし、どのオブジェクトのイベント処理かを明示している点で、自動生成されたメソッド名をそのまま使用するのはOKと思う。だが、杓子定規に命名規則に従えば、これは規則違反ではないのか?という疑問もある。
この様に正直、命名規則については悩み中といったところだ。本当は、一目でわかる命名規則の一覧表的なものを作りたいのだが、この曖昧な部分を明確化できなければ、ちょっと無理そうだ。
« ファイルに関連付けられたアイコンの取得 | トップページ | SizeGrip コンポーネント »
「.NETの悩み」カテゴリの記事
- Label の AutoSize と Image / Anchor プロパティ(2010.12.28)
- 命名規則の悩ましさ(2010.10.01)
この記事へのコメントは終了しました。
コメント