web-dev-qa-db-ja.com

パッキングのベストプラクティスJava enums?

パッケージ化のベストプラクティスは何ですかJava enums?

列挙型ごとに別のファイルですか?
または
すべての列挙型に同じファイルがありますか?

長所と短所は何ですか?

8
goodspeed

まず、優先ルールは、enumがパブリックの場合、それ自体のファイルで宣言する必要があるということです。これは、Javaルールであり、すべてのクラス、インターフェース、およびenumsに適用されます)で、これらは破壊できません。

非公開のenumsの場合、複数のenumsが密接に接続されている場合を除いて、同じルールに従う必要があります。

たとえば、式プロセッサを構築し、式のサブタイプ、バイナリ式のサブタイプ、および単項式のサブタイプの列挙を宣言する場合、3つの列挙を1つのファイルにまとめることができます。

9
dasblinkenlight

列挙型はクラスなので、通常のクラスとしてパックする必要があります。列挙型がパッケージ内の多くの場所で使用されている場合は、それを単一のファイルに入れます。列挙型がクラスと強くリンクしている場合は、それをパブリック(または保護された)静的内部クラスとして配置します。

関連がない限り、すべての列挙型を1つのファイルに配置する理由はわかりません。

4
m3th0dman