我最近发现自己需要(是的,需要)在 C# 代码中定义荒谬的长switch
语句和enum
声明,但我想知道人们认为将它们分成逻辑小节的最佳方式是什么。在我的情况下,枚举值和案例(基于枚举值)都有相当清晰的分组,但我有点不确定如何在代码中反映这一点。
请注意,在我的代码中,我大约有 5 组,每组介于 10 到 30 个枚举值/案例之间。
我可以设想的三个模糊合理的选择是:
- 在声明中围绕所有逻辑案例/枚举值组定义
#region
块(可选用空行分隔)。 - 用它的名字评论每个组,在每个组名评论之前有一个空行。
- 什么都不做——只需将开关/枚举作为一个巨大的案例/值列表。
你喜欢哪个?你会分别对待枚举和开关吗?(这对我来说似乎有点奇怪。)现在,我不会说这个问题有任何正确/错误的答案,尽管我仍然很想听听意见的普遍共识是什么。
注意 1:由于我正在尝试编写一个词法分析器(标记器),因此我可能有一个非常长的 50/100+ 值的枚举声明的这种情况是不可避免的(并且与开关类似),因此这似乎是最合理的方法有几个原因。
注 2:我完全意识到,关于是否在通用代码中使用区域(主要用于结构化类)的问题已经存在几个重复的问题,但我觉得我的问题在这里更具体,尚未得到解决。