Jestem trochę fajnym dziwakiem i mam tendencję do zatrzymywania moich projektów poprzez czyszczenie referencji i using
znaków w każdej klasie, aby zachować tylko to, co faktycznie zostało wykorzystane.
Jaki inny argument mógłbym (oprócz uspokojenia nerwu z OCD) trzymać się podstawowych rzeczy? Myślę, że głównie odniesienia do systemu, każde odniesienie do pracy niestandardowej spowoduje wiele problemów z kompatybilnością wsteczną. Czy ślad wydania jest większy? Skompilować czas dłużej?
using
si odniesienia nie są tym samym. Wiele odpowiedzi nie uwzględnia tego.Odpowiedzi:
Intellisense będzie o wiele bardziej przydatny, jeśli utrzymasz
using
minimum, a to wielka zaleta.Poza tym nie sądzę, aby zyski były jakikolwiek. Może więc kompilator C # będzie działał szybciej o, powiedzmy, 1%; Więc co.
źródło
Ctrl+.
aby szybko naprawić „Dodaj przestrzeń nazwXYZ
”using
s, dopóki nie zorientuje się, że w rzeczywistości są one niepotrzebne, ale nie może tego zrozumieć, chyba że najpierw skompiluje cały plik źródłowy. Podobnie jak w przypadku odniesień do projektów, nie są one odrzucane tylko dlatego, że nie wydają się być używane, ponieważ mogą być używane w sposób dynamiczny (niewykrywalny w czasie kompilacji).Ponieważ jest to praktycznie banalne, aby to zrobić w Visual Studio (proste kliknięcie prawym przyciskiem), dlaczego tego nie zrobić?
Jest to zgodne z Razor Razam , to po prostu dobra inżynieria.
Jeśli chodzi o konsekwencje nie zrobienia tego, zastanów się, co się stanie, jeśli jakiś inny programista spróbuje otworzyć Twój projekt i zawiera (nieużywane) odniesienie do biblioteki, której nie ma na swoim komputerze. Teraz, gdy biedny programista musi dowiedzieć się, dlaczego istnieje nierozwiązane odniesienie i co z tym zrobić.
Jeśli wolisz, rozważ to w kategoriach złotej zasady. Czy chciałbyś przejąć rozwój projektu, który zawierał wiele odniesień do bibliotek, których nie posiadałeś na komputerze i nie miałeś pojęcia, dlaczego one istnieją?
źródło
using
instrukcje są po prostu po to, aby kompilator mógł w pełni odwoływać się do klas itp. Dodatkoweusing
instrukcje nie będą miały znaczącego wpływu na czas kompilacji.Ponadto środowisko wykonawcze nie załaduje zestawu referencyjnego, dopóki nie będzie faktycznie potrzebny, więc ponownie nie sądzę, aby wystąpiły negatywne konsekwencje niepotrzebnych referencji.
Jeśli używasz narzędzia takiego jak Odbłyśnik, znajdowanie i usuwanie tych niepotrzebnych bitów można w większości zautomatyzować, więc powiedziałbym, że marnowanie czasu na te działania jest w ogóle marnotrawstwem. Na przykład godzina lub dwie ręczne usuwanie niepotrzebnych
using
instrukcji to więcej niż opłata za licencję na odbłyśnik - i zawiera wiele innych funkcji zwiększających wydajność.źródło
using
si a nieużywanymi referencjami. Oba są bardzo różne!Oprócz powyższego, myślę, że nie wspomniano tutaj tutaj, że każde odwołanie wymaga komponentu w ramach .NET lub zewnętrznej DLL. Jeśli jest mowa o zewnętrznej bibliotece DLL, musisz ją mieć, kiedy (i gdzie) uruchomisz oprogramowanie.
Edycja - zgodnie z prawidłowym komentarzem phoog poniżej: Aplikacja nadal będzie działać, jeśli biblioteka DLL nie będzie używana i nie musi być dostarczana z aplikacją tylko dlatego, że została dodana do referencji. Aby zająć się nieużywanymi referencjami w kodzie, możesz spojrzeć na: Usuwanie nieużywanych referencji .
źródło