私は最近、C#コードで途方もなく長いswitch
ステートメントとenum
宣言を定義する必要があることに気づきました(はい、必要です)が、論理的なサブセクションにそれらを分割するための最良の方法は人々がどのように感じているのか疑問に思います。私の状況では、列挙値とケース(列挙値に基づく)の両方にかなり明確なグループ化がありますが、これをコードに反映する方法が少しわかりません。
私のコードでは、それぞれ10から30の列挙値/ケースのおよそ5つのグループがあることに注意してください。
私が想像できる3つの漠然とした賢明なオプションは次のとおりです。
- 宣言内のケース/列挙値のすべての論理グループの周りにブロックを定義
#region
します(オプションで空白行で区切ります)。 - 各グループに名前を付けてコメントします。各グループ名のコメントの前に空白行を付けます。
- 何もしません-スイッチ/列挙型をケース/値の巨大なリストとして残すだけです。
どっちがいい?列挙型とスイッチを別々に扱いますか?(これは私には少し奇妙に思えます。)今、私はこの質問に対する正しい/間違った答えがあるとは言いませんが、それでも私は意見の一般的なコンセンサスが何であるかを聞くことに非常に興味があります。
注1: 50/100以上の値の非常に長い列挙型宣言が発生する可能性があるこの状況は、残念ながら(スイッチでも同様に)避けられません。これは、レクサー(トークン)を作成しようとしているためです。いくつかの理由で最も合理的なアプローチ。
注2:一般的なコード(主にクラスの構造化)でリージョンを使用するかどうかについては、すでにいくつかの重複する質問が存在することを十分に認識していますが、ここでの質問ははるかに具体的であり、まだ対処されていないと思います。