24

非常に簡単な質問:永続化可能なオブジェクトがある場合、通常はID(抽象クラ​​ス用)というプロパティがあります。

それで..命名規則IDまたはIDですか?

例えば。

public int ID { get; set; }

また

public int Id { get; set; }

乾杯 :)

PS。これは.NET用です。FXCop適合はボーナスになります。

4

9 に答える 9

29

私は通常識別子を使います。本当に短くしたい場合(たとえば、より長い識別子の一部として)、パラメーターまたはプライベートメンバーでない限り、Idを使用します。

.NETFrameworkの命名ガイドラインには次のように書かれています。

頭字語は、用語または句の単語の文字から形成される単語です。たとえば、HTMLはハイパーテキストマークアップ言語の頭字語です。頭字語は、広く知られ、よく理解されている場合にのみ、識別子に含める必要があります。頭字語は、略語が1つの単語を短縮するという点で略語とは異なります。たとえば、IDは識別子の略語です。一般に、ライブラリ名には略語を使用しないでください。

識別子に使用できる2つの略語は、IDとOKです。パスカルケースの識別子では、IdおよびOkとして表示されます。キャメルケースの識別子の最初の単語として使用する場合は、それぞれidおよびokとして表示されます。

于 2008-11-05T11:01:22.370 に答える
9

あなたがそれを好きなものは何でも、ただ一貫している。IDは単語ではなく、identityの略語です。略語の書き方は、人々が長い間議論していることです。例:

getResourceURL

また

getResourceUrl

実際には、両方が異なるフレームワークで使用されていることがわかります。もう1つの人気のある略語。同様の問題があるのはUTF8です。

一貫性を保つことが重要です。そうしないと、すべてのメソッドが異なる方法で処理する場合、人々は常にすべてのメソッドの正しい大文字と小文字を検索する必要があります。

私にはそのための独自の慣習があります。略語の場合。名前の最後にあるのはすべて大文字で、別の場所にある場合はキャメル表記の規則に従います。例えば

getResourceURL
urlOfResource
compareUrlToString

なんで?私は略語が好きです。大文字になります。ほとんどの人は、URLまたはUTFが大文字になることを期待しています。ただし、名前の途中にある場合は、キャメル表記の利点が失われます。キャメル表記の利点は、大文字と小文字を区別することで新しい単語がどこから始まるかを確認できることです。だから比較してください:

compareURLToString
compareUrlToString

最初のケースでは、URLが1つの単語で、Toが次の単語であることがすぐにはわかりません。TはURL(URLT)の一部であり、別の略語である可能性があるため、2番目の形式を使用します。しかし、それが最後である場合、それは役割を果たさず、他の単語は続きません。したがって、私は大文字の形式を好みます。私はすべてのコードでこの規則を守ります。

于 2008-11-05T11:00:28.063 に答える
8

ガイドラインには「Id」と記載されています。

幸いなことに、.Netの人たちは親切にも「命名法」ではなく「命名ガイドライン」を教えてくれました;)したがって、基本的に、ガイドライン規則に違反することは、それに従うよりも価値があると強く感じた場合は、必ずそれを破ってください。 、あなたの理由を理解していれば、誰もあなたに責任を負わせることはありません(読みやすさを向上させ、名前の意味を強調するなど)

私の店では、ガイドラインに「Id」と記載されていても「ID」を使用していますが、誰もそれについて本当に罪を感じていません。

于 2008-11-05T11:12:59.663 に答える
4

他の人が指摘しているように、Idは.NETの規則に従って正しいのですが、どういうわけか正しくないと感じているため、多くの人がIDを使用しています(そしてまだ生きています)。

フィールドの内容(数値、文字列、GUID)がわかりませんが、問題をスキップしたい場合は、オブジェクト識別子に別の.NET規則を使用できます。名前

于 2008-11-05T11:23:07.147 に答える
2

Idは心理学が話すように私には思えるので、内部でIDを使用しますが、IDは頭字語ではなく、その略語(Identity / Identifier)であるため、FxCopは文句を言います。FxCopの規則によれば、2文字の長さの頭字語のみがすべて大文字にすることができます。他のすべては適切なケースである必要があります。

IDプロパティにSuppressMessage属性を設定すると、誰もが満足します。

于 2008-11-05T10:58:12.203 に答える
2

"ID" は、FxCop 命名規則でハードコーディングされた略語の 1 つであり、他の単語の一部であっても常にスペルが間違っていると見なされます。それをオーバーライドする唯一の方法は、「ID」を頭字語に () として追加することです。

<Dictionary>
<Acronyms>
   <CasingExceptions>
        <Acronym>ID</Acronym>
  </CasingExceptions>
</Acronyms>
</Dictionary>

FxCop 1.36 で動作しました。PS 一般的には、"Id" の方が良い代替案だと思いますが、私たちが管理していない XML ファイル (または Web サービス) に基づいて生成された名前の場合、名前を変更できないことがあります。

于 2009-04-23T16:12:59.297 に答える
1

私はIDを他の単語(CustomerIDなど)と組み合わせて使用​​することを好みますが、厳密に言えば、これは通常の命名規則に反します。

于 2008-11-05T10:57:07.790 に答える
0

この辺りでは、「Id」やその他の頭字語などを単語として見ています。銀行業界では奇妙な文字の組み合わせがたくさんあるため、「Id」は簡単なものです。したがって、最初の文字を大文字にして、それを単語として扱います。これが、内部のコーディング規約のペーパーで定義されることになった方法です。

しかし、肝心なのは、ソースコードを見てそれを守る開発者チームや他の人々にとってより快適な規則を選択することです。

于 2008-11-05T11:12:50.940 に答える
0

http://en.wiktionary.org/wiki/id#略語

なぜそれと戦うのですか?

于 2009-07-15T15:59:30.970 に答える