[解決済み】Javaの頭文字を使った命名規則【終了しました
質問
次のJavaクラスの正しい名称は何ですか。
DVDPlayer
または
DvdPlayer
?
解決方法は?
Javaでは統一された規格がないというのが答えのようなので、.NET Framework Design Guidelinesではこのように規定されていることをメモしておきます。
さて、話がそれたと叩く前に、Javaと.NET Frameworkのクラス命名ガイドラインはかなり似ているので、.NETガイドラインが説得力のあるリファレンスとして有用であることを思い出してください。
一般的なルール
両ガイドラインとも、頭字語が広く知られ、よく理解されている場合にのみ使用することを推奨しています。DVDやXMLはその好例で、これらはすぐに分かりますが、拡張版を認識するにはもう少し時間がかかるでしょう。
略語について
.NET Framework ガイドラインでは、(頭字語ではなく)略語を使用しないことを推奨しています。
ID
と
OK
を識別子に使用することができる。略語を使用する場合、大文字と小文字の混在する
Id
は、キャメルケースの識別子(パスカルケースの識別子とは異なります)の最初の単語を除いて、常に使用されます。
Javaでは、この規約は一部しか守られていません。
見てみる
のスペルがどのように混在しているかを見てみましょう。
getID
と
getId
はJCLにあります。(そのページを一部スクロールしてください)。その中の
Java 8 バージョン
が。
getId
これは、現在ではPascalCaseの規約が好まれることを示唆しています。可能であれば、略語は完全に避けた方がよいでしょう。
短い頭字語
.NET Framework ガイドラインでは、以下のような2文字の頭文字を使用することを推奨しています。
IO
は、両方の文字が同じケースであるべきです。つまり、クラス名のようなパスカルケースの識別子では、次のようになります。
DBRate
一方、キャメルケースの識別子 (ローカル変数など) の場合は、次のようになります。
ioChannel
.
これは間違いなく、Javaでも一般的な慣習のようです。
長い頭字語
.NET Frameworkのガイドラインでは、3文字以上の頭字語は、キャメルケースの識別子の最初の単語を除き、パスカルケースとキャメルケースの識別子の混合ケースを使用することを推奨しています。したがって、クラス名の場合、次のようになります。
XmlDocument
一方、ローカル変数の名前は
httpRequest
.
この規約は、Javaでは必ずしも守られていない。4文字の頭字語は通常大文字と小文字の混在を使うようですが、JCLでさえ3文字の頭字語については一貫性がありません。ほとんどの場合、次のようにすべて大文字になるようです。
URL
,
XML
,
SQL
および
DOM
のような例外もありますが
Jar
.
まとめ
Javaの場合
4文字以上の頭字語は大文字と小文字を混在させる。標準ライブラリはこれを採用しており、非常に理にかなっています。
3文字の頭文字の場合、JCLのようにすべて大文字にするか、.NET Frameworkのように大文字と小文字を混在させることができます。いずれにせよ、一貫性を保つようにしましょう。
2文字の頭文字の場合は、すべて大文字を使用します。
2文字の略語については、Javaには特に基準がありませんが、他の名前との整合性からすべて大文字の方が見栄えが良い場合を除き、大文字と小文字の混在を使用することをお勧めします。
関連
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] Java: getInstanceとStaticの比較
-
[解決済み] java.io.IOException。DER長の短い読み取り