Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Durch die zunehmende Komplexität moderner Softwareanwendungen steigt auch die Schwierigkeit, den Code zuverlässig und wartbar zu machen. Codemetriken sind eine Reihe von Softwarekennzahlen, die Entwicklern einen besseren Einblick in den von ihnen entwickelten Code geben. Durch die Nutzung von Codemetriken können Entwickler nachvollziehen, welche Typen oder Methoden überarbeitet oder gründlicher getestet werden sollten. Entwicklungsteams können potenzielle Risiken identifizieren, den aktuellen Status eines Projekts verstehen und den Fortschritt während der Softwareentwicklung verfolgen.
Entwickler können Visual Studio verwenden, um Codemetrikdaten zu generieren, die die Komplexität und Wartbarkeit ihres verwalteten Codes messen. Codemetrikdaten können für eine gesamte Lösung oder ein einzelnes Projekt generiert werden.
Informationen zum Generieren von Codemetrikdaten in Visual Studio finden Sie unter Gewusst wie: Generieren von Codemetrikdaten.
Software-Messungen
In der folgenden Liste sind die Ergebnisse der Codemetriken aufgeführt, die Visual Studio berechnet:
Wartability Index : Berechnet einen Indexwert zwischen 0 und 100, der die relative Einfachheit der Wartung des Codes darstellt. Ein hoher Wert bedeutet eine bessere Wartbarkeit. Farbcodierte Bewertungen können verwendet werden, um Problemstellen in Ihrem Code schnell zu identifizieren. Eine grüne Bewertung liegt zwischen 20 und 100 und zeigt an, dass der Code eine gute Wartbarkeit aufweist. Eine gelbe Bewertung liegt zwischen 10 und 19 und gibt an, dass der Code mäßig wartbar ist. Eine rote Bewertung ist eine Bewertung zwischen 0 und 9 und weist auf eine geringe Wartbarkeit hin. Weitere Informationen finden Sie unter Bereich und Bedeutung des Wartbarkeitsindexes.
Zyklomatische Komplexität - Misst die strukturelle Komplexität des Codes. Es wird erstellt, indem die Anzahl der verschiedenen Codepfade im Ablauf des Programms berechnet wird. Ein Programm mit komplexer Ablaufsteuerung erfordert mehr Tests, um eine gute Codeabdeckung zu erreichen, und ist weniger wartbar. Weitere Informationen finden Sie unter Zyklomatische Komplexität.
Vererbungstiefe : Gibt die Anzahl der verschiedenen Klassen an, die voneinander erben, bis hin zur Basisklasse. Die Vererbungstiefe ähnelt der Klassenkopplung insofern, als sich eine Änderung in einer Basisklasse auf jede ihrer geerbten Klassen auswirken kann. Je höher diese Zahl, desto tiefer die Vererbung und desto höher ist das Potenzial für Änderungen der Basisklasse, die zu einer Breaking Change führen. Für die Vererbungstiefe ist ein niedriger Wert gut und ein hoher Wert schlecht. Weitere Informationen finden Sie unter Vererbungstiefe.
Klassenkopplung - Misst die Kopplung an eindeutige Klassen anhand von Parametern, lokalen Variablen, Rückgabetypen, Methodenaufrufen, generischen oder Vorlageninstanziierungen, Basisklassen, Schnittstellenimplementierungen, Feldern, die für externe Typen definiert sind, und Attributdekoration. Gutes Softwaredesign schreibt vor, dass Typen und Methoden eine hohe Kohäsion und eine geringe Kopplung aufweisen sollten. Eine hohe Kopplung weist auf ein Design hin, das aufgrund seiner vielen Abhängigkeiten von anderen Typen schwer wiederzuverwenden und zu warten ist. Weitere Informationen finden Sie unter Klassenkopplung.
Zeilen Quellcode - Gibt die genaue Anzahl der Quellcodezeilen an, die in der Quelldatei vorhanden sind, einschließlich Leerzeilen. Diese Metrik ist ab Visual Studio 2019, Version 16.4, und Microsoft.CodeAnalysis.Metrics (2.9.5) verfügbar.
Zeilen mit ausführbarem Code: Gibt die ungefähre Anzahl der ausführbaren Codezeilen oder Vorgänge an. Dies ist die Anzahl der Vorgänge in ausführbarem Code. Diese Metrik ist ab Visual Studio 2019, Version 16.4, und Microsoft.CodeAnalysis.Metrics (2.9.5) verfügbar. Der Wert stimmt in der Regel eng mit der vorherigen Metrik "Lines of Code" überein, bei der es sich um die auf MSIL-Anweisungen basierende Metrik handelt, die im Legacymodus verwendet wird.
Anonymen Methoden
Eine anonyme Methode ist nur eine Methode, die keinen Namen hat. Anonyme Methoden werden am häufigsten verwendet, um einen Codeblock als Delegatparameter zu übergeben. Codemetrikergebnisse für eine anonyme Methode, die in einem Member deklariert ist, z. B. eine Methode oder ein Accessor, werden dem Member zugeordnet, der die Methode deklariert. Sie sind nicht dem Member zugeordnet, der die Methode aufruft.
Generierter Code
Einige Softwaretools und Compiler generieren Code, der einem Projekt hinzugefügt wird und den der Projektentwickler entweder nicht sieht oder nicht ändern sollte. In den meisten Fällen ignoriert Code Metrics generierten Code, wenn die Metrikwerte berechnet werden. Auf diese Weise können die Metrikwerte widerspiegeln, was der Entwickler sehen und ändern kann.
Für Windows Forms generierter Code wird nicht ignoriert, da es sich um Code handelt, den der Entwickler sehen und ändern kann.