Domanda

Dove lavoro, vedo spesso il codice del genere:

public void Test(Models.User.UserInfo userInfo, Models.User.UserParameter param)
   { ... }

Personalmente, preferisco vedere una cosa del genere:

public void Test(UserInfo userInfo, UserParameter param) { ... }

E hanno un import in alto.

Cosa pensi di questo? Quali le migliori pratiche? Quali i pro ei contro di entrambi? Come potrei convincere i miei compagni di squadra?

Trovo seconda opzione per essere più chiaro.

È stato utile?

Soluzione

sicuramente utilizzare la direttiva using, IMO. In genere questo è solo il codice che è stato generato automaticamente da Visual Studio. Non ho visto nessuno deliberatamente scrivere codice come questo manualmente. IMO vale la pena di fare in modo che tutto il codice che gli esseri umani leggeranno aspetto come gli esseri umani hanno scritto - così mi piacerebbe aggiungere la direttiva using e riduco i nomi qui. Rende molto più facile da leggere -. In particolare quando gli spazi dei nomi sono lunghi

Altri suggerimenti

Io tendo ad usare il nome completo se il tipo è utilizzato solo una volta o forse due volte in un file di codice. Per tutto ciò che uso io resto using

Ma questo dipende anche dalla lunghezza del nome completo. E 'tutta una questione di scrittura bello, facile da leggere il codice.

In tutti, ma alcune circostanze, direi, import o using gli spazi dei nomi è la migliore pratica. Questo ha il vantaggio aggiunto di degrado precoce:. Il compilatore si lamenterà se non riesce a trovare lo spazio dei nomi

Tra i pochi casi in cui è necessario il nome completo (per essere più corretto: non è completamente qualificato, non è necessario specificare la versione o chiave) sono dove dovrebbero verificarsi conflitti di nomi (vale a dire : quando due spazi dei nomi capita di avere lo stesso nome, vedo questo succede spesso con le classi Util che molti fornitori aggiungono alle loro librerie) (nota che è possibile utilizzare i nomi delle classi alias using). O quando è necessario qualificare il nome come una stringa, ma questa è un'altra caso d'uso (vale a dire, con la riflessione). Di tanto in tanto, durante il debug, aiuta a utilizzare il FQN, perché il debugger non consente l'aggiunta di una direttiva using.

Nel caso in cui si utilizza il nome solo una volta, si potrebbe essere tentati di utilizzare la FQN, ma nella mia esperienza, troverete rapidamente da soli, usando più di un nome dello spazio dei nomi e refactoring per l'importazione del namespace nel intestazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top