Recientemente me he encontrado necesitando (sí, necesitando) definir declaraciones absurdamente largas switch
y declaraciones enum
en código C#, pero me pregunto qué sienten las personas es la mejor manera de dividirlas en subsecciones lógicas. En mi situación, tanto los valores de enum como los casos (que se basan en los valores enum) tienen agrupaciones bastante claras, aunque no estoy seguro de cómo reflejar esto en el código.¿Usaría regiones dentro de declaraciones de cambio/enum largas?
Tenga en cuenta que en mi código, tengo aproximadamente 5 grupos de entre 10 y 30 valores enum/casos cada uno.
Las tres opciones vagamente sensibles puedo prever son:
- Definir
#region
bloques alrededor de todos los grupos lógicos de los casos los valores/enum dentro de la declaración (opcionalmente separados por líneas en blanco). - Comenta cada grupo con su nombre, con una línea en blanco antes de cada comentario de nombre de grupo.
- No haga nada en absoluto: simplemente deje el interruptor/enumeración como una enorme lista de casos/valores.
¿Qué prefieres? ¿Tratarías las enumeraciones y los interruptores por separado? (Esto me parecería un poco extraño.) Ahora, no diría que hay una respuesta correcta/incorrecta a esta pregunta, aunque de todos modos estaría muy interesado en escuchar cuál es el consenso general de las opiniones.
Nota 1: Esta situación en la que podría tener potencialmente una declaración enum extremadamente larga de 50/100 + valores es, por desgracia inevitable (y de manera similar con el interruptor), ya que estoy intentando escribir un analizador léxico (tokenizador), y esto parecería ser el enfoque más razonable por varias razones.
Nota 2: Soy consciente de que ya existen varias preguntas duplicadas sobre la cuestión de si usar regiones en código general (para estructurar clases, principalmente), pero siento que mi pregunta aquí es mucho más específica y hasn todavía no se ha abordado.
acaba de editar mi respuesta. Espero que ayude :) –