Quali sono le conseguenze di avere riferimenti e usi inutili?

10

Sono un po 'strano e tendo a mantenere i miei progetti pulendo i riferimenti e using s in ogni classe per mantenere solo ciò che viene effettivamente utilizzato.

Quale altro argomento potrei fare (oltre a calmare il mio nervosismo OCD) di attenermi all'essenziale? Sto pensando principalmente a riferimenti di sistema, qualsiasi riferimento al lavoro personalizzato porterà molti problemi di compatibilità con le versioni precedenti. L'impronta di rilascio è più grande? Compilare più a lungo?

    
posta MPelletier 25.12.2011 - 22:56
fonte

4 risposte

12

Intellisense ti sarà molto più utile se mantieni using al minimo, e questo è un grande vantaggio.

Oltre a questo, non penso ci sia alcun guadagno. Quindi forse il compilatore C # funzionerà più velocemente, per esempio, dell'1%; quindi cosa.

    
risposta data 25.12.2011 - 23:08
fonte
8

Poiché è praticamente banale eseguire ciò in Visual Studio (semplice clic con il pulsante destro del mouse), perché non farlo?

Questo è coerente con Rasoio di Occam , è semplicemente una buona ingegneria.

Per quanto riguarda le conseguenze di non farlo, considera cosa succede se qualche altro sviluppatore tenta di aprire il tuo progetto e contiene un riferimento (inutilizzato) a una libreria che lui / lei non ha sul suo computer. Ora quel povero sviluppatore ha bisogno di capire perché questo riferimento irrisolto esiste e cosa fare al riguardo.

Se preferisci, consideralo in termini di regola d'oro. Vorresti prendere in carico lo sviluppo di un progetto che aveva molti riferimenti alle librerie che non avevi sul tuo computer e che non avevi idea del perché ci fossero?

    
risposta data 25.12.2011 - 23:11
fonte
5
Le istruzioni

using servono semplicemente al compilatore per essere in grado di fare riferimento completo alle classi, ecc. Le dichiarazioni extra using non avranno alcun effetto apprezzabile sul tempo di compilazione.

Inoltre, il runtime non carica un assembly di riferimento finché non è effettivamente necessario, quindi ancora una volta non credo che ci siano conseguenze negative dei riferimenti non necessari.

Se si utilizza uno strumento come Reflector, trovare e rimuovere questi bit non necessari può essere in gran parte automatizzato, quindi direi che è uno spreco sprecare molto tempo in queste attività. Ad esempio, una o due ore di rimozione manuale delle dichiarazioni di using non necessarie più del pagamento di una licenza Reflector - e viene fornito con molte altre funzionalità che migliorano la produttività.

    
risposta data 25.12.2011 - 23:08
fonte
1

Oltre a quanto sopra, suppongo che non sia ancora stato menzionato qui, ogni riferimento richiede un componente all'interno del framework .NET o di una DLL esterna. Se il riferimento è fatto a una DLL esterna, sarà necessario averlo quando (e dove) si esegue il software.

Modifica - Come da commento valido di phoog qui sotto: L'applicazione verrebbe comunque eseguita se la DLL non viene utilizzata e non è richiesto che venga spedita con l'applicazione solo perché è stata aggiunta ai riferimenti. Per occuparti dei riferimenti non utilizzati nel codice, potresti voler dare un'occhiata a: Rimozione dei riferimenti inutilizzati .

    
risposta data 26.12.2011 - 00:48
fonte

Leggi altre domande sui tag