私は最近、曖昧に長い文をswitch
ステートメントとenum
宣言をC#コードで定義する必要があることを知りましたが、論理サブセクションに分割する最良の方法は何かと思います。私の状況では、列挙型の値とケース(列挙型の値に基づいている)はかなり明確なグループ分けをしていますが、これをコードに反映させる方法は少し不明です。長いswitch/enum宣言内の領域を使用しますか?
私のコードでは、約10〜30のenum値/ケースのグループが約5つあります。
私が考えることができる3つの漠然と賢明なオプションは次のとおり
- は、(必要に応じて空白行で区切られた)宣言内ケース/ enum値のすべての論理グループの周りに
#region
ブロックを定義します。 - 各グループの名前の前に空白行を付けて、各グループに名前を付けます。
- 何もしないでください。switch/enumを大量のケース/値リストとして残してください。
どちらをお好みですか?列挙型とスイッチを別々に扱いますか?(これは私にはやや奇妙に思えるかもしれません)今、私は、この質問に正解/間違った答えがあるとは言いませんが、それでも意見の一般的な合意が何であるかを聞くことにはかなり関心があります。
注1:私はレクサー(トークナイザ)を書き込もうとしていますので、私は潜在的な値+ 100分の50の非常に長い列挙型の宣言がある場合があります。このような状況は、残念ながら避けられない(と同様にスイッチ付き)で、したがって、これはいくつかの理由から最も合理的なアプローチと思われる。
注2:私はいくつかの重複した質問が既に(主に、構造化クラスのため)一般のコード内の領域を使用するかどうかの問題に存在していることを十分に承知していますが、私はここに私の質問は、はるかに具体的かつhasnであると感じまだ対処されていません。
ただ私の答えを編集しました。それが助けて欲しいと思っています:) –