1. ホーム
  2. java

[解決済み] Javaパッケージ名の単語区切り記号はどのようなものですか?

2022-03-21 11:42:56

質問

パッケージ名の単語はどのように区切ればよいでしょうか?次のうちどれが正しいか?

  1. com.stackoverflow.my_package ( Snake Case アンダースコアを使用)
  2. com.stackoverflow.my-package ( Kebab Case ハイフンを使って)
  3. com.stackoverflow.myPackage ( Camel Case )
  4. com.stackoverflow.MyPackage ( Pascal Case )

一般的な規格とは?

どのように解決するのですか?

公式の命名規則文書で規定されているのは、以下の通りです。

パッケージ

ユニークなパッケージ名の接頭辞は、常にASCII文字の小文字で記述され、トップレベルドメイン名の1つである必要があります(現在は com , edu , gov , mil , net , org または、ISO Standard 3166, 1981 で規定されている国を示す英語の2文字コードのうちの1つ。

パッケージ名の後続の構成要素は、組織独自の内部命名規則に従って変化する。このような規則では、特定のディレクトリ名の構成要素を、部門、部署、プロジェクト、マシン、またはログイン名とすることが指定される場合があります。

  • com.sun.eng
  • com.apple.quicktime.v2
  • edu.cmu.cs.bovik.cheese

参考文献


特に、トップレベルドメインのプレフィックスに続くものは、上記の文書で指定されていないことに注意してください。JLSも以下のような例を挙げてこれに同意しています。

  • com.sun.sunsoft.DOE
  • gov.whitehouse.socks.mousefinder
  • com.JavaSoft.jag.Oak
  • org.npr.pledge.driver
  • uk.ac.city.rugby.game

以下の抜粋も関連します。

場合によっては、インターネットドメイン名が有効なパッケージ名でないことがあります。このような状況に対処するための推奨される規約をいくつか紹介します。

  • ドメイン名にハイフンや識別子として許されない特殊文字が含まれる場合は、アンダースコアに変換します。
  • パッケージ名の構成要素の中にキーワードがある場合は、アンダースコアを追加します。
  • パッケージ名の構成要素の中に、数字や識別子の頭文字として許されない文字で始まるものがある場合、その構成要素の前にアンダースコアが付きます。

参考文献