Gibt es irgendwelche Vorteile beim Entfernen nicht verwendeter using-Anweisungen in einem VS-Projekt (wie dies mit Resharper möglich ist), oder kümmert sich VS beim Erstellen / Bereitstellen automatisch darum?
visual-studio
resharper
B. Clay Shannon
quelle
quelle
removing unused references
(DLLs) gefragt haben, und alle Antworten beziehen sich aufremoving unused using statements
.Antworten:
Es gibt keine Leistungsvorteile, wenn Sie das meinen.
Alle Referenzen in einer Baugruppe sind vollständig qualifiziert. Der Compiler verwendet lediglich die Referenzen, die Sie in Ihrem Code angeben, um die Bezeichner vollständig zu qualifizieren. Die einzige Auswirkung nicht verwendeter Referenzen in Ihrem Quellcode ist eine geringfügige Abnahme der Lesbarkeit (warum ist diese Referenz hier?) und eine geringfügige Verlängerung der Kompilierzeit.
Anders ausgedrückt ist die generierte IL genau gleich, unabhängig davon, ob Sie die nicht verwendeten Referenzen entfernen oder nicht.
quelle
using
s- oder DLL-Referenzen hinzufügen (Reference Include
MSBuild-Dateielement,/reference:
CSC-Argument). Ich hatte vorgehabt: Entfernen Sie nicht verwendeteusing
s aus einem Webanwendungsprojekt. Dies waren die einzigen Codezeilen, die die Aufnahme einer Reihe von DLL-Referenzen erzwangen. Entfernen Sie diese nun. Wie Sie sagen, wird schneller erstellt, wenn Referenzen UNC-Pfade sind (CSC überprüft alle Referenzpfade). Trivialer Gewinn 2: Die CI-Geschwindigkeit (Skripte greifen auf alle referenzierten DLLs zu) wird verbessert, da weniger Dateien kopiert werden, z.Ja, ich kann mir zwei Hauptvorteile vorstellen:
quelle
Das Entfernen von nicht verwendetem Code ist nur zusätzliches Gepäck und die Effizienz lässt sich nur schwer messen.
Das Entfernen von nicht verwendetem Code verkürzt die Kompilierungszeit. Ich arbeite an einem Projekt, das zwischen 15 und 20 Minuten dauert. Es gibt jede Menge nicht verwendeten Code. Durch das Eliminieren von nicht verwendetem Code wurde die Kompilierungszeit auf ~ 7 Minuten verringert. Dies macht einen Unterschied, wenn viele Entwickler im Team sind. Dies spart jedem Zeit, um schnell zu bauen und zu testen.
Wenn Sie Ihre Build- und Komponententests automatisiert haben, haben Sie jetzt Komponententests entfernt, die Sie nicht benötigen. Auch dies reduziert die Zeit, die für die Durchführung von Komponententests benötigt wird. Nur mehr Effizienz in Ihrem Continuous Build Management-Prozess.
quelle