Zazwyczaj widzę kilka instrukcji using na górze pliku klasy. Przykład:
using System.Collections.Generic;
using System.IO;
using System.Xml.Linq;
Ale w projekcie, nad którym pracuję, kilkakrotnie widzę 20 lub więcej zastosowań / importów w jednym pliku klasy. Czy to zły projekt? Wydaje się, że klasy zaprojektowane do wykonywania jednej rzeczy powinny polegać tylko na kilku elementach.
programming-practices
Jon Raynor
źródło
źródło
using
instrukcji. Możesz chcieć zobaczyć, ile z tych 20 jest faktycznie używanych.using
instrukcji bez konieczności zwiększania liczby klas? Należy pamiętać, że zwiększenie liczby klas lub plików źródłowych spowoduje zwiększenie kosztów zarządzania kodem źródłowym.Odpowiedzi:
Może to wskazywać na zły projekt, tak. Może się zdarzyć, że klasa, na którą patrzysz, robi zbyt wiele rzeczy, ale może to również oznaczać, że importowane przestrzenie nazw są naprawdę bardziej sprzężone, niż sugeruje to separacja przestrzeni nazw. Może to wynikać z nadmiernej inżynierii lub nadmiernej abstrakcji, ale może to być również projekt, który nie jest dobrze dopasowany do użycia.
To powiedziawszy, to zapach - czasami prowadzi cię do czegoś złego, a czasem jest to tylko fałszywy alarm.
źródło
using
w jednym pliku C #.Klasa nie powinna być większa i nie mniejsza niż to, co jest potrzebne do zapewnienia zamierzonej funkcji.
W jednej aplikacji mam klasę szyfrowania, która ma jedno zadanie: szyfrowanie danych. Pomiędzy podstawową funkcjonalnością, rejestrowaniem i obsługą wyjątków środowisko wymaga 11 różnych importów przestrzeni nazw, aby wykonać to jedno zadanie.
Trudno mi powiedzieć sobie „zminimalizuj import”. Lub ocenić sukces mojej klasy wyłącznie na podstawie liczby zaimportowanych przestrzeni nazw. Nie mogę tego słusznie wykorzystać w oderwaniu, jako wskaźnika sukcesu klasy. Dla mnie „import” oznacza środek do końca klasy. Jeśli zadanie klasy jest dobrze zdefiniowane, wszystko inne w systemie wspierającym, w tym import, załatwi się samo.
źródło