1

私たち全員が知っていると確信しているように、「somedomain.org」のようなドメイン名を購入することで、Java 製品のパッケージに名前を付けることができます。この場合、パッケージは「org.somedomain.packagename」パターンに従います (関連ソース: http ://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html )。

ただし、ドメイン名を持っていない人には、代わりに電子メール アドレスが表示されます。たとえば、John Bob Doe という名前の人が「john_bob_doe@gmail.com」などの GMail アカウントを作成した場合、パッケージには「com.gmail.john_bob_doe」や「com.gmail.jon_bob_doe.いくつかのインナーパッケージ」

これはすべて問題ありませんが、彼の電子メール アドレスが「john-bob-doe@gmail.com」だったらどうなるでしょうか。上記のリンクによると、ハイフンでつながれた名前がある場合、ハイフンをアンダースコアに置き換えることができます。したがって、再び: "com.gmail.john_bob_doe" と "com.gmail.jon_bob_doe.someinnerpackage".

ここで「本当の」質問があります。彼の電子メール アドレスが「john.bob.doe@gmail.com」だったらどうなるでしょうか。パッケージの命名は「com.gmail.john.bob.doe」にする必要がありますか?それとも「com.gmail.doe.bob.john」?基本的に問題は、電子メール アドレスの "@" 記号の前にピリオドが含まれている場合、どのようにパッケージに名前を付ける必要があるかということです。

理由:私はそのような電子メール アドレスを持っており、それをプロジェクトのパッケージの名前付けに使用したいと考えています。

4

2 に答える 2

2

これを行うための唯一の正しい方法はありません。

心に留めておく必要があるのは、パッケージ名の形成に関するこの規則/ガイダンスの目的です...つまり、次のとおりです。

  • 互いに独立して開発された Java コードベース間で偶発的にパッケージ名が衝突するリスクを最小限に抑えるため、および

  • 作成している名前空間を誰または何が「所有」しているかについての情報を伝えるために。

この観点からcom.gmail.john.bob.doe、またはcom.gmail.doe.bob.john衝突のリスクを最小限に抑えるために同様にうまく機能し、知的な人々com.gmail(つまり Google) が名前空間を所有していると考えるリスクは最小限に抑えられます。


アンダースコアの使用は、一般的な Java 識別子の命名規則に違反しています...そして私はそれに対してお勧めします

于 2013-04-09T17:55:35.210 に答える