Czy są jakieś korzyści z usuwania nieużywanych instrukcji za pomocą projektu VS (np. Można to zrobić przy użyciu Resharper), czy VS automatycznie zajmie się tym podczas budowania / wdrażania?
Czy są jakieś korzyści z usuwania nieużywanych instrukcji za pomocą projektu VS (np. Można to zrobić przy użyciu Resharper), czy VS automatycznie zajmie się tym podczas budowania / wdrażania?
Odpowiedzi:
Nie ma żadnych korzyści w zakresie wydajności, jeśli o to ci chodzi.
Wszystkie odniesienia w zestawie są w pełni kwalifikowane; kompilator używa jedynie referencji podanych w kodzie, aby w pełni zakwalifikować identyfikatory, więc jedynym skutkiem nieużywanych referencji w kodzie źródłowym jest nieznaczne zmniejszenie czytelności (dlaczego tutaj jest to referencja?) i trywialny wzrost czasu kompilacji.
Innymi słowy, wygenerowana IL jest dokładnie taka sama, niezależnie od tego, czy usuniesz nieużywane odwołania, czy nie.
using
odwołania s lub DLL ( Reference Include
element pliku MSBuild, /reference:
argument CSC). Miałem na myśli: Usuń nieużywane using
pliki z projektu aplikacji sieci Web. Były to jedyne wiersze kodu, które zmuszają do włączenia wielu odwołań do DLL, więc teraz je usuń. Jak mówisz, buduje się szybciej - tym bardziej, jeśli referencje były ścieżkami UNC (CSC sprawdza wszystkie ścieżki referencyjne). Trywialna wygrana 2: Szybkość CI (skrypty pobierają wszystkie odnośne biblioteki DLL) poprawia się, ponieważ kopiowanych jest mniej plików, np. Z serwera kontroli źródła, aby zbudować serwer, aby opublikować serwer na serwerach aplikacji.
Tak - mogę wymyślić dwie podstawowe korzyści:
Usunięcie nieużywanego kodu jest tylko dodatkowym bagażem i ciężko zmierzyć uzyskane korzyści.
Usuwanie nieużywanego kodu, skraca czas kompilacji, pracuję nad projektem, który zajmuje od 15 do 20 minut, jest mnóstwo nieużywanego kodu. Wyeliminowanie nieużywanego kodu skróciło czas kompilacji do ~ 7 minut. To robi różnicę, gdy w zespole jest wielu programistów, co oszczędza każdemu czas na szybkie budowanie i testowanie.
Jeśli zautomatyzowałeś testy kompilacji i testy jednostkowe, teraz usunąłeś testy jednostkowe, których nie potrzebujesz. ponownie skraca to czas potrzebny na przeprowadzenie testów jednostkowych. Właśnie zwiększona wydajność w procesie zarządzania ciągłą kompilacją.
removing unused references
(biblioteki DLL) i wszystkie odpowiedzi dotycząremoving unused using statements
.