領域の使いすぎについて悪いことを聞いたことがありますが、クラスに列挙型を追加するときは、それらを#region "Enums"
クラスの最後に配置し、構造体やサブクラスでも同じことを行います。
クラスでそのような要素をグループ化するためのより良い/標準的な方法はありますか?
(注: これは C#/VB とタグ付けされていますが、Java などの他の言語でも同じ状況が存在する可能性があります)
領域の使いすぎについて悪いことを聞いたことがありますが、クラスに列挙型を追加するときは、それらを#region "Enums"
クラスの最後に配置し、構造体やサブクラスでも同じことを行います。
クラスでそのような要素をグループ化するためのより良い/標準的な方法はありますか?
(注: これは C#/VB とタグ付けされていますが、Java などの他の言語でも同じ状況が存在する可能性があります)
確かに合理的なグループ化は、別々のソース ファイルを使用することです。
いくつかの画面がいっぱいになっているクラスの場合、おそらくそのようなクラス用に別のソース ファイルを用意する必要があります。そうしないと、ソース ファイル内のさまざまなクラスやその他の項目を見つけるのが困難になる場合があります。
意味的に関連し、それぞれが画面に収まるほど小さい列挙型のコレクションの場合、それらを 1 つのファイルに入れるのが理にかなっていることがよくありますが、それらすべての列挙型が共有する目的に従ってファイルに名前を付ける必要があります。 . それらの共通点を説明する心に訴える名前を思いつくのに苦労している場合、これはそれらを再び分割する必要があることを示している可能性があります. (もちろん、このパラグラフはクラスと構造体に等しく適用されますが、非常に小さいものに限られます。)
ネストされたクラス/構造体/列挙型であっても、C# では別のソース ファイルに配置できることに注意してください— 外部クラスをpartialとして宣言するだけです。
関連する派生クラス (サブクラス) のクラス階層全体がある場合は、そのような階層ごとにサブディレクトリを作成することもできます。たとえば、 というサブディレクトリに、抽象基本クラス用のCollections
ファイルとCollectionBase.cs
、各派生クラス用の個別のソース ファイルがあるとします。