Sdílet prostřednictvím


Hodnoty metrik kódu

Zvýšená složitost moderních softwarových aplikací také zvyšuje složitost vytváření spolehlivého a udržovatelného kódu. Metriky kódu jsou sada softwarových měr, které vývojářům poskytují lepší přehled o kódu, který vyvíjí. Díky využití metrik kódu můžou vývojáři pochopit, které typy a/nebo metody by se měly přepracovat nebo důkladněji testovat. Vývojové týmy můžou identifikovat potenciální rizika, porozumět aktuálnímu stavu projektu a sledovat průběh vývoje softwaru.

Vývojáři můžou pomocí sady Visual Studio generovat data metrik kódu, která měří složitost a udržovatelnost spravovaného kódu. Data metrik kódu se dají generovat pro celé řešení nebo jeden projekt.

Informace o generování dat metrik kódu v sadě Visual Studio najdete v tématu Postupy: Generování dat metrik kódu.

Měření softwaru

Následující seznam ukazuje výsledky metrik kódu, které Sada Visual Studio vypočítá:

  • Index udržovatelnosti – vypočítá hodnotu indexu mezi 0 a 100, která představuje relativní jednoduchost údržby kódu. Vysoká hodnota znamená lepší udržovatelnost. Barevné hodnocení se dají použít k rychlé identifikaci problémů v kódu. Zelené hodnocení je mezi 20 a 100 a označuje, že kód má dobrou udržovatelnost. Žluté hodnocení je mezi 10 a 19 a označuje, že kód je středně udržovatelný. Červené hodnocení je hodnocení mezi 0 a 9 a označuje nízkou udržovatelnost. Další informace naleznete v tématu Rozsah a význam indexu udržovatelnosti.

  • Cyklomatická složitost – Měří strukturální složitost kódu. Je vytvořen výpočtem počtu různých cest kódu v toku programu. Program, který má složitý tok řízení, vyžaduje k dosažení dobrého pokrytí kódu více testů a je méně udržovatelný. Další informace naleznete v tématu Cyklomatické složitosti.

  • Hloubka dědičnosti – označuje počet různých tříd, které dědí z jedné druhé, úplně zpět do základní třídy. Hloubka dědičnosti je podobná párování tříd v tom, že změna základní třídy může ovlivnit kteroukoli z jejích zděděných tříd. Čím vyšší je toto číslo, tím hlubší dědičnost a tím vyšší je potenciál úprav základní třídy, aby se změna způsobující chybu. Pro hloubku dědičnosti je nízká hodnota dobrá a vysoká hodnota je špatná. Další informace naleznete v tématu Hloubka dědičnosti.

  • Párování tříd – Měří spojení s jedinečnými třídami prostřednictvím parametrů, místních proměnných, návratových typů, volání metod, obecných instancí nebo instancí šablon, základních tříd, implementací rozhraní, polí definovaných na externích typech a dekoraci atributů. Dobrý návrh softwaru určuje, že typy a metody by měly mít vysokou soudržnost a nízkou spojku. Vysoká spojka označuje návrh, který je obtížné opakovaně používat a udržovat kvůli mnoha vzájemným závislostem na jiných typech. Další informace naleznete v tématu Párování tříd.

  • Řádky zdrojového kódu – označuje přesný počet řádků zdrojového kódu , které jsou ve zdrojovém souboru, včetně prázdných řádků. Tato metrika je dostupná od sady Visual Studio 2019 verze 16.4 a Microsoft.CodeAnalysis.Metrics (2.9.5).

  • Řádky spustitelného kódu – označuje přibližný počet řádků nebo operací spustitelného kódu. Jedná se o počet operací ve spustitelném kódu. Tato metrika je dostupná od sady Visual Studio 2019 verze 16.4 a Microsoft.CodeAnalysis.Metrics (2.9.5). Hodnota je obvykle blízko předchozí metriky, řádky kódu, což je metrika založená na instrukci MSIL použitá ve starším režimu.

Anonymní metody

Anonymní metoda je jen metoda , která nemá žádný název. Anonymní metody se nejčastěji používají k předání bloku kódu jako parametru delegáta. Výsledky metrik kódu pro anonymní metodu deklarovanou v členu, například metodu nebo přístupové objekty, jsou přidruženy k členu, který deklaruje metodu. Nejsou přidruženy k členu, který volá metodu.

Vygenerovaný kód

Některé softwarové nástroje a kompilátory generují kód přidaný do projektu a vývojář projektu buď nevidí nebo by neměl měnit. Metriky kódu většinou při výpočtu hodnot metrik ignorují vygenerovaný kód. To umožňuje hodnotám metrik odrážet, co může vývojář zobrazit a změnit.

Kód vygenerovaný pro model Windows Forms není ignorován, protože se jedná o kód, který může vývojář zobrazit a změnit.