¿Espacio de nombres separado solo para excepciones?

7

Estaba haciendo una revisión de código y me encontré con algo extraño que nunca había visto antes. El desarrollador decidió crear un espacio de subdominios solo para contener todas las excepciones del ensamblaje.

Pensé que había leído que esto no era un uso explícito de los espacios de nombres y que las excepciones deberían mantenerse en el espacio de nombres "más bajo" desde el que se lanzaron, pero no he encontrado nada en MSDN (ni en ningún otro lugar para ese asunto). Al mismo tiempo, parece extraño que no haya encontrado esto antes en el propio marco o en las bibliotecas de terceros que he usado.

¿Existen pautas que impidan mantener todas las excepciones en un subespacio de nombres .Exceptions?

    
pregunta Andy 17.03.2014 - 13:01

1 respuesta

21

Las dos razones principales para usar espacios de nombres son evitar colisiones de nombres y agregar agrupación lógica . Pero como los nombres de las clases de excepción suelen tener el formato "XYZException" (y otras clases no), estos dos requisitos ya se cumplen en esta convención de denominación. Por lo tanto, agregar un espacio de sub-nombres adicional es innecesario en un contexto donde todos siguen la convención. Intenta resolver un problema que ya está resuelto, agregando una complejidad innecesaria al código.

Además, para mi experiencia, es mejor usar espacios de nombres para la partición en aspectos de su dominio, no para agrupaciones técnicas. Cuando empiece a poner las clases de excepción en un subespacio de nombres, la siguiente decisión será colocar todos los enum s en un subespacio propio, luego todas las estructuras de ayuda, y así sucesivamente. En realidad, no creo que esto haga que el código sea más claro o más fácil de navegar, por lo que no creo que sea útil.

    
respondido por el Doc Brown 17.03.2014 - 13:16

Lea otras preguntas en las etiquetas