Wartości metryk kodu

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 i/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. Zielona ocena wynosi od 20 do 100 i wskazuje, że kod ma dobrą konserwację. Żółta ocena wynosi od 10 do 19 i wskazuje, że kod jest umiarkowanie konserwowany. 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ą ze sobą, przez cały sposób do 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 liczba, tym głębiej dziedziczenie i im wyższy potencjał modyfikacji klasy bazowej, co spowoduje zmianę powodującą niezgodność. 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 wskazuje projekt, który jest trudny do ponownego użycia i konserwacji ze względu na wiele współzależności w innych typach. 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 elemencie członkowskim, takiej jak metoda lub metoda dostępu, są skojarzone z elementem członkowskim, który deklaruje metodę. Nie są one skojarzone z elementem członkowskim, który wywołuje metodę .

Wygenerowany kod

Niektóre narzędzia programowe i kompilatory generują kod dodawany do projektu i że deweloper projektu nie widzi lub nie powinien się 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ć.