Esiste un modo per eliminare il lungo elenco di utilizzi nella parte superiore dei miei file .cs?

StackOverflow https://stackoverflow.com/questions/62219

Domanda

Man mano che ottengo sempre più spazi dei nomi nella mia soluzione, l'elenco delle istruzioni using nella parte superiore dei miei file diventa sempre più lungo.Questo è particolarmente vero nei miei test unitari in cui per ciascun componente che potrebbe essere chiamato devo includere l'utilizzo dell'interfaccia, del contenitore IoC e del tipo concreto.

Con oltre 17 righe di utilizzo nei miei file di test di integrazione, sta diventando davvero confuso.Qualcuno sa se esiste un modo per definire una macro per la mia base utilizzando le istruzioni?Altre soluzioni?

È stato utile?

Soluzione

Ad alcune persone piace nascondere gli usi in a #region.Altrimenti penso che tu sia sfortunato.A meno che tu non voglia mettere lo spazio dei nomi su tutti i tuoi referenti.

Altri suggerimenti

So che non dovrei dirlo ad alta voce, ma forse riconsidera il tuo progetto.

17 utilizzi in 1 file = molto accoppiamento (a livello di spazio dei nomi).

Io stesso non sopporto Resharper.Ma non sopporto nemmeno l'uso disordinato delle dichiarazioni.Io uso il Comandi di potere componente aggiuntivo per VS, che ha un pratico comando "Rimuovi e ordina" utilizzando le istruzioni (tra le altre cose buone).

Ci sono quattro possibili problemi qui;

Gli spazi dei nomi nel tuo codice dividono le tue classi in modo troppo fine. se hai, ad esempio;

using MyCompany.Drawing.Vector.Points;
using MyCompany.Drawing.Vector.Shapes;
using MyCompany.Drawing.Vector.Transformations;

considera di comprimerli in un unico MyCompany.Drawing.Vector spazio dei nomi.Probabilmente non stai guadagnando dividendo troppo.Visual Studio Code Analysis/FxCop ha una regola per questo, controllando il numero di classi in uno spazio dei nomi.Troppo pochi e ti avviserà.

Stai inserendo troppi test nella stessa classe. Se stai facendo riferimento System.Data, System.Drawing, E System.IO nella stessa classe, prendi in considerazione la possibilità di scrivere più test atomici: alcuni che accedono ai database, altri che disegnano immagini e altri che accedono al file system.Quindi dividere ciascun tipo in tre classi di prova.

Stai scrivendo test che fanno troppo. Se fai riferimento a molti spazi dei nomi, i tuoi test potrebbero accoppiare troppe funzionalità insieme.Questo tipo di accoppiamento può spesso essere difettoso, quindi prova a suddividere funzioni grandi e ad ampio raggio in parti più piccole e testale in file separati.

Molti sono ridondanti. Sono tutti utilizzati o sono semplicemente copiati e incollati da altri file.Fai clic con il pulsante destro del mouse sull'editor del codice e scegli tra le opzioni "Organizza utilizzando" per rimuovere le istruzioni inutilizzate.

Qualcuno sa se c'è un modo per definire una macro per la mia base usando le istruzioni?

Vuoi dire che gli spazi dei nomi che usi spesso vengono aggiunti automaticamente a ogni nuova classe?Se sì, Resharper può farlo anche.Inoltre ha una funzione per mettere gli usi in una regione sulla pulizia del codice.Resharper potrebbe essere la strada da percorrere (non te ne pentirai, come posso dire per esperienza personale).

VS2008 ha aggiunto un menu contestuale "Organizza usi", che ha un'opzione Ordina, Rimuovi e "Rimuovi e ordina" che farà ciò che desideri per file.Il componente aggiuntivo Visual Studio Power Commands aggiunge un menu contestuale in Esplora soluzioni per progetti e soluzioni che è un "Rimuovi e ordina" rispettivamente per tutti i file nel progetto e tutti i progetti nella soluzione.

Se desideri modificare le istruzioni using predefinite eseguite quando crei un nuovo file, dai un'occhiata alla directory C:\Programmi\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.Contiene una serie di file zip che puoi modificare per cambiare i modelli per i file di codice (ovviamente spostati verso l'alto nella struttura delle directory per cambiare altre lingue o altri tipi di file).

Vedere Qui per maggiori informazioni.

Potrebbe essere utile utilizzare l'aliasing.Non sono sicuro che ne valga la pena, ma invece di:

using System.Web.UI;
using System.Web.Mail;
using System.Web.Security;
... Control ...
... MailMessage ...
... Roles ... 

Puoi usare:

using W = System.Web;
... W.UI.Control ...
... W.Mail.MailMessage ...
... W.Security.Rolse ...

Resharper, il componente aggiuntivo per Visual Studio, ha una funzionalità che rimuove gli Using non utilizzati da un file, ma non conosco nulla che faccia esattamente quello che descrivi.

In VS2008, puoi fare clic con il pulsante destro del mouse sul file CS e scegliere "Organizza utilizzi".Eliminerà gli usi inutilizzati e li ordinerà anche per te.A parte questo, userei semplicemente #region.Anche, CTRL+M+O comprimerà tutte le funzioni delle regioni, ecc. in fase di progettazione.Io uso MOLTO questa scorciatoia!

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