Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwiększona złożoność nowoczesnych aplikacji programowych zwiększa również trudności z zapewnieniem niezawodności i utrzymania kodu. Metryki kodu to zestaw miar oprogramowania, które zapewniają deweloperom lepszy wgląd w opracowywany kod. Korzystając z metryk kodu, deweloperzy mogą zrozumieć, które typy lub metody należy przerobić lub dokładniej przetestować. Zespoły programistyczne mogą identyfikować potencjalne zagrożenia, rozumieć bieżący stan projektu i śledzić postęp podczas tworzenia oprogramowania.
Deweloperzy mogą używać programu Visual Studio do generowania danych metryk kodu, które mierzą złożoność i łatwość utrzymania kodu zarządzanego. Dane metryk kodu można wygenerować dla całego rozwiązania lub pojedynczego projektu.
Aby uzyskać informacje o sposobie generowania danych metryk kodu w programie Visual Studio, zobacz How to: Generate code metrics data (Jak: generowanie danych metryk kodu).
Pomiary oprogramowania
Na poniższej liście przedstawiono wyniki metryk kodu obliczane przez program Visual Studio:
Indeks konserwacji — oblicza wartość indeksu z zakresu od 0 do 100, która reprezentuje względną łatwość obsługi kodu. Wysoka wartość oznacza lepszą konserwację. Klasyfikacje kodowane kolorami mogą służyć do szybkiego identyfikowania punktów problemów w kodzie. Ocena zielona mieści się między 20 a 100 i wskazuje, że kod ma dobrą utrzymywalność. Ocena żółta wynosi od 10 do 19 i wskazuje, że kod jest umiarkowanie łatwy do utrzymania. Czerwona ocena to ocena z zakresu od 0 do 9 i wskazuje niską konserwację. Aby uzyskać więcej informacji, zobacz Zakres indeksów konserwacji i znaczenie.
Złożoność cyklotyczna — mierzy złożoność strukturalną kodu. Jest on tworzony przez obliczenie liczby różnych ścieżek kodu w przepływie programu. Program, który ma złożony przepływ sterowania, wymaga większej liczby testów w celu osiągnięcia dobrego pokrycia kodu i jest mniej konserwowalny. Aby uzyskać więcej informacji, zobacz Złożoność cyklatyczna.
Głębokość dziedziczenia — wskazuje liczbę różnych klas, które dziedziczą jedna od drugiej, aż do osiągnięcia klasy bazowej. Głębokość dziedziczenia jest podobna do sprzężenia klas w tym, że zmiana klasy bazowej może mieć wpływ na dowolną z odziedziczonych klas. Im większa ta liczba, tym głębsze dziedziczenie i tym większy potencjał modyfikacji klasy bazowej do wywołania zmiany mogącej powodować problemy z kompatybilnością. W przypadku głębokości dziedziczenia niska wartość jest dobra, a wysoka wartość jest zła. Aby uzyskać więcej informacji, zobacz Głębokość dziedziczenia.
Sprzęganie klas — mierzy sprzężenie z unikatowymi klasami za pomocą parametrów, zmiennych lokalnych, typów zwracanych, wywołań metod, wystąpień ogólnych lub szablonów, klas bazowych, implementacji interfejsu, pól zdefiniowanych na typach zewnętrznych i dekoracji atrybutów. Dobry projekt oprogramowania określa, że typy i metody powinny mieć wysoką spójność i niskie sprzężenia. Wysokie sprzężenie oznacza, że projekt jest trudny do ponownego użycia i konserwacji ze względu na wiele współzależności z innymi typami. Aby uzyskać więcej informacji, zobacz Sprzęganie klas.
Wiersze kodu źródłowego — wskazuje dokładną liczbę wierszy kodu źródłowego, które znajdują się w pliku źródłowym, w tym puste wiersze. Ta metryka jest dostępna od programu Visual Studio 2019 w wersji 16.4 i Microsoft.CodeAnalysis.Metrics (2.9.5).
Wiersze kodu wykonywalnego — wskazuje przybliżoną liczbę wierszy lub operacji kodu wykonywalnego. Jest to liczba operacji w kodzie wykonywalnym. Ta metryka jest dostępna od programu Visual Studio 2019 w wersji 16.4 i Microsoft.CodeAnalysis.Metrics (2.9.5). Wartość jest zazwyczaj zbliżona do poprzedniej metryki Wiersze kodu, która jest metryką opartą na instrukcjach MSIL używaną w trybie starszym.
Metody anonimowe
Metoda anonimowa to tylko metoda, która nie ma nazwy. Metody anonimowe są najczęściej używane do przekazywania bloku kodu jako parametru delegata. Wyniki metryk kodu dla metody anonimowej zadeklarowanej w członku, takim jak metoda lub akcesor, są skojarzone z tym członkiem, który ją deklaruje. Nie są one skojarzone z członkiem, który wywołuje metodę.
Wygenerowany kod
Niektóre narzędzia programowe i kompilatory generują kod dodawany do projektu, którego deweloper projektu albo nie widzi, albo nie powinien zmieniać. Głównie Metryki kodu ignorują wygenerowany kod podczas obliczania wartości metryk. Dzięki temu wartości metryk odzwierciedlają to, co deweloper może zobaczyć i zmienić.
Kod wygenerowany dla formularzy systemu Windows nie jest ignorowany, ponieważ jest to kod, który deweloper może zobaczyć i zmienić.