例:
クラスのあるプロジェクトXa.b.c.d.AbstractFoo
今私はプロジェクトYを持っていますAbstractFoo
パッケージ名の使用に関する規則はありますか?たとえば、パッケージ名が同じであるという利点はありますか?
例:
クラスのあるプロジェクトXa.b.c.d.AbstractFoo
今私はプロジェクトYを持っていますAbstractFoo
パッケージ名の使用に関する規則はありますか?たとえば、パッケージ名が同じであるという利点はありますか?
パッケージ名の使用に関する規則はありますか?
の実装のパッケージ名は、そのAbstractFoo
クラスにとって意味のあるものである必要があり、必ずしものパッケージと同じである必要はありません。AbstractFoo
たとえば、私はしばしばオーバーライド/実装しますが、それでもソースファイルの1つにJComponent
書き込むことは夢にも思いません。package javax.swing
たとえば、パッケージ名が同じであるという利点はありますか?
いいえ、そうではありません。ただし、意味上の違いがあります。これは、デフォルト(パッケージレベル)のアクセス修飾子によるものです。あるプロジェクトのパッケージ名が別のプロジェクトのパッケージ名と一致することに依存することは、私には本当に悪い考えのように思えます。
異なるプロジェクトで同じパッケージを使用しないでください。将来、名前の衝突に陥りやすくなります。名前の衝突なしに両方のプロジェクトをクラスパスに配置できるように、各プロジェクトには独自の名前空間が必要です。com.yourcompany.projectA.Listインターフェイスがある場合は、com.yourcompany.listCommons.AbstractListクラスのようなものを使用します。基準はありません。ネーミングは、他の人にとって読みやすく、理解しやすいものでなければなりません
プロジェクト/JARが異なれば、異なるパッケージ名を使用します。後で自分や他の人の時間を大幅に節約できます。