次のJavaクラスの正しい名前は何ですか:DVDPlayer
またはDvdPlayer
?
答えはJavaにはこれに対する単一の標準がないということであるように見えるので、.NET Framework設計ガイドラインがこれを指定していることに注意したいと思います。
トピックから外れると非難する前に、Javaと.NET Frameworkのクラス命名ガイドラインは非常に似ているため、.NETガイドラインは説得力のあるリファレンスとして役立つことに注意してください。
両方のガイドラインは、頭字語が広く知られ、よく理解されている場合にのみ頭字語を使用することを推奨しています。 DVDまたはXMLは、この優れた例です。すぐに認識できますが、拡張バージョンを認識するには少し時間がかかります。
.NET Frameworkガイドラインでは、2つの一般的な略語「ID」と「OK」を識別子に使用できることを除いて、略語(頭字語ではなく)を使用しないことを推奨しています。略語を使用する場合、(PascalCase識別子ではなく)camelCase識別子の最初のWordを除き、大文字と小文字が混在するId
が常に使用されます。
Javaでは、この規則が時々守られます。 ご覧ください JCLでのgetID
とgetId
のスペルの混ざり具合。 (そのページの途中までスクロールします)。 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には実際には標準がありませんが、大文字と小文字を混在させることをお勧めします。
「正しい」答えはありません。他のツールでより良いプレイと慣習のセットです。
したがって、DvdPlayer
を好みます。 Eclipseでできるように、それはより便利です Ctrl+Shift+T 各Wordの最初の文字でクラスを選択します。
私はそれらの両方が野生で使用されるのを見ました、そして、SunはDVDPlayer
スタイルに行くようです。ただし、DvdPlayer
のように、連続する頭字語が複数ある場合でも、Wordの境界がどこにあるかが明確であるため、HTTPURLConnection
を好みます。
私は、クラスの個々のインスタンスを次の方法で定義したいと思います。
Catalogue catalogue;
Person person;
したがって、DVDPlayer
を使用した場合、そのインスタンスを何と呼びますか? dVDPlayer
?したがって、DvdPlayer
クラス名を選択するので、dvdPlayer
のようなインスタンスに名前を付けることができます。
JavaSEクラス、Apache commons、およびspringの例:
HttpURLConnection
HTTPAddress
UrlPathHelper
AopProxy
ISBNValidator
だから-それは本当に重要ではありません。
効果的なJava はDvdPlayerを好むようです。
他の人が示したように、そのスタイルはプロジェクトによって異なります。 GuavaやGWTなどのGoogleプロジェクトは、DvdPlayer
スタイルを好みます。
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
から Sun Java docs :
クラス名は名詞で、大文字と小文字が混在する各内部単語の最初の文字を使用する必要があります。クラス名はシンプルでわかりやすいものにしてください。単語全体を使用して、頭字語や略語を避けます(略語がURLやHTMLなどの長い形式よりもはるかに広く使用されている場合を除く)。
DVDPlayer
は標準ですが、DvdPlayer
は珍しいことではありません。
getId
が頻繁に表示されます。これはおそらく、IDが「アイデンティティ」の短縮だと考えているためです。実際には、IDドキュメントのイニシャルです。
HttpURLConnection
は、しばしば混合規則の例として与えられます。ただし、URLでプロトコル名として使用される「http」は小文字である必要があります(ただし、大文字はしばしば受け入れられます)。
ここには「正しい」ものはなく、設定だけがあります。
Sunは、「URL」と「HTML」を含むクラスの命名方法に一貫性がありますが、javadocsではすべて大文字とキャメルケースの両方を使用するHTTPを参照しています。
個人的には、DvdPlayerが好きです。