web-dev-qa-db-ja.com

Java頭字語による命名規則

次のJavaクラスの正しい名前は何ですか:DVDPlayerまたはDvdPlayer

198
DD.

答えはJavaにはこれに対する単一の標準がないということであるように見えるので、.NET Framework設計ガイドラインがこれを指定していることに注意したいと思います。

トピックから外れると非難する前に、Javaと.NET Frameworkのクラス命名ガイドラインは非常に似ているため、.NETガイドラインは説得力のあるリファレンスとして役立つことに注意してください。

一般的なルール

両方のガイドラインは、頭字語が広く知られ、よく理解されている場合にのみ頭字語を使用することを推奨しています。 DVDまたはXMLは、この優れた例です。すぐに認識できますが、拡張バージョンを認識するには少し時間がかかります。

略語

.NET Frameworkガイドラインでは、2つの一般的な略語「ID」と「OK」を識別子に使用できることを除いて、略語(頭字語ではなく)を使用しないことを推奨しています。略語を使用する場合、(PascalCase識別子ではなく)camelCase識別子の最初のWordを除き、大文字と小文字が混在するIdが常に使用されます。

Javaでは、この規則が時々守られます。 ご覧ください JCLでのgetIDgetIdのスペルの混ざり具合。 (そのページの途中までスクロールします)。 Java 8バージョン では、getIdがますます使用されているため、最近ではPascalCaseの規則が推奨されています。可能な場合は略語を完全に避けるのが最善です。

短い頭字語

.NET Frameworkガイドラインでは、「IO」のような2文字の頭字語は、両方の文字で同じ大文字と小文字を使用する必要があるとされています。したがって、PascalCase識別子(クラス名など)の場合はDBRateになりますが、camelCase識別子(ローカル変数など)の場合はioChannelになります。

これは間違いなくJavaでも一般的な慣習のようです。

長い頭字語

.NET Frameworkのガイドラインでは、PascalCaseとcamelCaseの識別子に頭文字3文字以上を使用することを推奨しています(ただし、camelCase識別子の最初のワードを除く)。したがって、クラス名にはXmlDocumentを使用し、ローカル変数にはhttpRequestという名前を付けます。

Javaでは、この規則が常に守られているわけではありません。通常、4文字の頭字語では大文字と小文字が混在しているように見えますが、JCLでさえ3文字の頭字語について一貫性がありません。それらのほとんどは、「URL」、「XML」、「SQL」、「DOM」のようにすべて大文字のように見えますが、「Jar」のような例外がいくつかあります。

結論

Javaの場合:

4文字以上の頭字語の場合は、大文字と小文字を混在させて使用します。標準ライブラリがこれを実行しますが、それは理にかなっています。

3文字の頭字語の場合、JCLのようにすべて大文字を使用することも、.NET Frameworkのように大文字と小文字を混在させることもできます。どちらにしても、一貫性を保ってください。

2文字の頭字語の場合は、すべて大文字を使用します。

2文字の略語の場合、Javaには実際には標準がありませんが、大文字と小文字を混在させることをお勧めします。

213
Kevin Cathcart

「正しい」答えはありません。他のツールでより良いプレイと慣習のセットです。

したがって、DvdPlayerを好みます。 Eclipseでできるように、それはより便利です Ctrl+Shift+T 各Wordの最初の文字でクラスを選択します。

alt text

96
flybywire

私はそれらの両方が野生で使用されるのを見ました、そして、SunはDVDPlayerスタイルに行くようです。ただし、DvdPlayerのように、連続する頭字語が複数ある場合でも、Wordの境界がどこにあるかが明確であるため、HTTPURLConnectionを好みます。

50
JaakkoK

私は、クラスの個々のインスタンスを次の方法で定義したいと思います。

Catalogue catalogue;
Person person;

したがって、DVDPlayerを使用した場合、そのインスタンスを何と呼びますか? dVDPlayer?したがって、DvdPlayerクラス名を選択するので、dvdPlayerのようなインスタンスに名前を付けることができます。

34
Peter Perháč

JavaSEクラス、Apache commons、およびspringの例:

  • HttpURLConnection
  • HTTPAddress
  • UrlPathHelper
  • AopProxy
  • ISBNValidator

だから-それは本当に重要ではありません。

31
Bozho

効果的なJava はDvdPlayerを好むようです。

23
Brian Harris

他の人が示したように、そのスタイルはプロジェクトによって異なります。 GuavaやGWTなどのGoogleプロジェクトは、DvdPlayerスタイルを好みます。

https://google.github.io/styleguide/javaguide.html#s5.3-camel-case

8
Steven Benitez

から Sun Java docs

クラス名は名詞で、大文字と小文字が混在する各内部単語の最初の文字を使用する必要があります。クラス名はシンプルでわかりやすいものにしてください。単語全体を使用して、頭字語や略語を避けます(略語がURLやHTMLなどの長い形式よりもはるかに広く使用されている場合を除く)。

8
codaddict

DVDPlayerは標準ですが、DvdPlayerは珍しいことではありません。

getIdが頻繁に表示されます。これはおそらく、IDが「アイデンティティ」の短縮だと考えているためです。実際には、IDドキュメントのイニシャルです。

HttpURLConnectionは、しばしば混合規則の例として与えられます。ただし、URLでプロトコル名として使用される「http」は小文字である必要があります(ただし、大文字はしばしば受け入れられます)。

ここには「正しい」ものはなく、設定だけがあります。

Sunは、「URL」と「HTML」を含むクラスの命名方法に一貫性がありますが、javadocsではすべて大文字とキャメルケースの両方を使用するHTTPを参照しています。

個人的には、DvdPlayerが好きです。

0
duffymo