Ci sono dei vantaggi nel rimuovere le dichiarazioni usando inutilizzate in un progetto VS?


21

Ci sono dei vantaggi nel rimuovere le dichiarazioni usando inutilizzate in un progetto VS (come si può fare usando Resharper), o VS se ne occuperà automaticamente durante la costruzione / distribuzione?


1
Avere l'impressione di aver chiesto removing unused references(DLL) e tutte le risposte riguardano removing unused using statements.
Răzvan Flavius ​​Panda,

@ RăzvanPanda: No, sta utilizzando le istruzioni; Dovrò ceco se riesci a fare quest'ultimo con R # - sarebbe anche una temperatura piacevolmente bassa.
B. Clay Shannon,

Aight, correggendo il testo per adattarlo al significato.
Răzvan Flavius ​​Panda,

1
puoi rimuovere i riferimenti DLL non utilizzati con l'ultimo R #, ma è importante fare attenzione ai riferimenti dinamici DLL o le cose potrebbero rompersi in fase di esecuzione.
Răzvan Flavius ​​Panda,

Risposte:


23

Non ci sono benefici in termini di prestazioni, se è questo che intendi.

Tutti i riferimenti in un assieme sono pienamente qualificati; il compilatore utilizza semplicemente i riferimenti forniti nel codice per qualificare pienamente gli identificatori, quindi l'unico impatto dei riferimenti non utilizzati nel codice sorgente è una leggera diminuzione della leggibilità (perché questo riferimento è qui?) e un banale aumento dei tempi di compilazione.

Per dirla in altro modo, l'IL generato è esattamente lo stesso sia che rimuoviate i riferimenti non utilizzati o meno.


Ci può essere un vantaggio indiretto nella rimozione degli Usi non utilizzati. Se ciò a sua volta consente di rimuovere uno o più riferimenti a DLL esterne da una soluzione, ciò potrebbe favorire le dimensioni della distribuzione dell'applicazione e / o il tempo di avvio.
diga

1
L'IL generato non cambia se si rimuovono gli utilizzi, quindi non vedo come potrebbe essere influenzato qualcosa.
Robert Harvey,

Vero: IL non cambierà se si aggiungono usingriferimenti a DLL o inutilizzati ( Reference Includeelemento del file MSBuild, /reference:argomento CSC). Avevo in mente: rimuovere i messaggi non utilizzati usingda un progetto di applicazione Web. Quelle erano state le uniche righe di codice che includevano l'inclusione di un mucchio di riferimenti DLL, quindi ora rimuovili. Come dici tu, costruisce più velocemente, tanto più se i riferimenti erano percorsi UNC (CSC controlla tutti i percorsi di riferimento). Trivial win 2: la velocità di CI (gli script catturano tutte le DLL di riferimento) migliora man mano che vengono copiati meno file, ad esempio dal server di controllo del codice sorgente per creare un server per pubblicare server su server di app.
diga

Il codice più breve è il codice più leggibile. Meno è di più - questo è il vantaggio e vale la pena farlo per questo motivo.
Niico,

24

Sì, posso pensare a due vantaggi principali:

  1. Oltre al suo scopo funzionale principale (cioè ridurre la verbosità del codice), l'elenco delle istruzioni "Utilizzo" nella parte superiore di un file di codice può dire ai futuri lettori (specialmente quelli senza Resharper) quali spazi dei nomi sono (o almeno erano ) rilevanti per quel file di codice . Se poti attivamente questo elenco, può agire come un meccanismo di segnalazione migliore.
  2. La rimozione di spazi dei nomi non utilizzati ridurrà il numero di candidati al completamento automatico nell'editor di testo durante la digitazione. Se fai affidamento sugli elenchi di completamento automatico, questo ti aiuterà a rimanere "dritto e stretto" e potrebbe persino aumentare la velocità di battitura, poiché dovresti riuscire a trovare il candidato al completamento automatico previsto un po 'più veloce.

1
Ah, punti molto buoni, in particolare # 2!
B. Clay Shannon,

0

Rimuovere il codice inutilizzato, è solo un bagaglio extra e difficile misurare l'efficienza ottenuta.

  • Rimozione di codice inutilizzato, abbassa i tempi di compilazione, sto lavorando a un progetto che impiega dai 15 ai 20 minuti, ci sono tonnellate di codice inutilizzato. L'eliminazione del codice inutilizzato ha ridotto il tempo di compilazione a ~ 7 minuti. Questo fa la differenza quando ci sono molti sviluppatori nel team, questo fa risparmiare a tutti il ​​tempo di costruire e testare rapidamente.

  • Se hai automatizzato i test di build e unità, ora hai rimosso i test di unità che non ti servono. anche in questo caso si riduce il tempo impiegato per eseguire i test unitari. Maggiore efficienza nel processo di gestione della build continua.

    • Il codice inutilizzato produce una maggiore impronta dei tuoi binari. Avere una stampa footprint di codice più piccola ridurrà il tempo impiegato inizialmente per caricare / avviare. Sebbene i guadagni possano essere molto magri e soggettivi.

4
la domanda non riguarda il codice inutilizzato in generale, si tratta di riferimenti non utilizzati
moscerino del

... vedi Come rispondere : "Leggi attentamente la domanda . Qual è, in particolare , la domanda che ti viene posta? Assicurati che la tua risposta fornisca questo - o una valida alternativa ..."
moscerino
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.