Quando si ha a che fare con lo stile, è sempre più utile prendere uno stile ufficiale se ne esiste uno, o usare quello comunemente adottato dalla comunità di sviluppatori scrivere in una lingua specifica.
Sei fortunato, per C #, c'è uno stile ufficiale creato da Microsoft . Un'altra cosa buona è che Microsoft ha anche sviluppato uno strumento chiamato StyleCop che controlla se il tuo codice è valido.
Due delle regole sono rilevanti per la tua domanda:
- SA1210: Using directives must be ordered alphabetically by namespace.
- SA1208: System using directives must be placed before other using directives.
In altre parole, gli spazi dei nomi che iniziano per% co_de vengono sempre prima, ordinati alfabeticamente, e tutti gli altri spazi dei nomi, anche ordinati alfabeticamente, vengono secondo. Non c'è una linea vuota tra i due. Il codice che hai citato nella tua domanda è un'illustrazione perfetta di questo stile.
Quello che suggerisco ha alcuni vantaggi:
-
Può essere applicato automaticamente invece di una scelta manuale di quale degli usi è più importante. In realtà, questo è quello che è applicato automaticamente in Visual Studio quando chiedi di riordinare gli usi. Avere una cosa in meno a cui pensare durante lo sviluppo ti permette di concentrarti su cose che contano veramente, come la qualità del tuo codice.
-
Può essere controllato (ad esempio durante un commit).
-
Non ci sarebbero discussioni inutili tra i tuoi colleghi sull'importanza dei rispettivi spazi dei nomi.
C'è, tuttavia, un grosso inconveniente:
- Se si rinomina uno spazio dei nomi, accade spesso che crei scompiglio nei tuoi elenchi di usi ben ordinati in altri file. Mentre Visual Studio rende molto facile riordinare gli spazi dei nomi in un singolo file, non aiuta affatto quando si applica l'ordine in tutti i file di un progetto (e se non sbaglio, Visual Studio non preoccuparsi di correggere l'ordine degli spazi dei nomi quando si rinomina uno).
Quello che suggerisco ha i seguenti vantaggi:
-
Anche in questo caso, il supporto di Visual Studio è a portata di mano. Può essere difficile se devo perdere tempo a riordinare manualmente gli spazi dei nomi (o rallentare il mio IDE installando CodeRush o Resharper).
-
Un nuovo arrivato non dovrà imparare uno stile diverso da quello comunemente usato dal settore. Questo, da solo, è sufficiente per evitare questo stile.
-
StyleCop controlla automaticamente questo stile. Se si deve usare lo stile di Olivier, si dovrebbe sviluppare una regola personalizzata per StyleCop. Niente di impossibile, ma ancora lavoro aggiuntivo da fare.
Lo svantaggio è:
- Il relativo mix tra namespace interni e spazi dei nomi di terze parti. Questo potrebbe essere un problema se gli spazi dei nomi interni sono denominati in modo incoerente; se sono tutti prefissati dal nome della tua azienda, sono necessariamente insieme se ordinati in ordine alfabetico comunque.