Separa lo spazio dei nomi solo per le eccezioni?

7

Stavo facendo una revisione del codice e ho trovato qualcosa di strano che non avevo mai visto prima. Lo sviluppatore ha deciso di creare un sottospazio per contenere tutte le eccezioni dell'assembly.

Pensavo di aver letto che questo non era un uso esplicito degli spazi dei nomi e che le eccezioni dovrebbero essere mantenute nello spazio dei nomi "più basso" da cui sono state generate, ma non ho trovato nulla su MSDN (o in qualsiasi altro posto per quello importa). Allo stesso tempo, sembra strano che non l'abbia mai incontrato prima nel framework stesso o nelle librerie di terze parti che ho usato.

Esistono linee guida che potrebbero evitare di mantenere tutte le eccezioni in un sotto-spazio dei nomi .Exceptions?

    
posta Andy 17.03.2014 - 13:01
fonte

1 risposta

21

I due motivi principali per l'utilizzo degli spazi dei nomi sono quelli di evitare conflitti di nomi e di aggiungere raggruppamenti logici . Ma poiché i nomi delle classi di eccezioni hanno in genere la forma "XYZException" (e altre classi no), questi due requisiti sono già soddisfatti da questa convenzione di denominazione. Quindi aggiungere un sotto-spazio dei nomi aggiuntivo non è necessario in un contesto in cui tutti seguono la convenzione. Cerca di risolvere un problema che è già stato risolto, aggiungendo una complessità inutile al codice.

Inoltre, per la mia esperienza è meglio usare i namespace per il partioning sotto aspetti del tuo dominio, non per il raggruppamento tecnico. Quando inizi a mettere le classi di eccezioni in un sottospazio, la prossima decisione sarà quella di mettere tutto enum s in uno spazio dei nomi secondario, quindi tutte le strutture di supporto e così via. In realtà, non penso che questo renda il codice più chiaro o più facile da navigare, quindi non penso che sarebbe utile.

    
risposta data 17.03.2014 - 13:16
fonte

Leggi altre domande sui tag