Radon ist ein Programm, das Python-Metriken misst. https://github.com/rubik/radon
Auf diese Weise können Sie die Komplexität und Anzahl der Zeilen des Python-Codes ermitteln. Durch Messen der Komplexität können Sie potenzielle Risiken in Ihrem Quellcode identifizieren und identifizieren, was überarbeitet oder getestet werden muss.
Führen Sie die folgenden Schritte in python2.x oder Python3.x aus.
easy_install easy_install radon
Die zyklomatische Komplexität kann mit dem Befehl cc gemessen werden. Die zyklomatische Komplexität nimmt zu, wenn mehr Kontrollanweisungen vorliegen. Siehe unten für Details. https://radon.readthedocs.org/en/latest/intro.html#cyclomatic-complexity
__Beispiel der Verwendung: __
radon cc -s ".\*.py"
__ Ausgabeinhalt: __ Das erste Symbol steht für den Blocktyp
Symbol | Erläuterung |
---|---|
F | Funktion |
M | Methode |
C | Klasse |
Die folgenden Zahlen geben die Startmatrix des zu messenden Blocks an
Linie:Säule
Als nächstes wird der Blockname wie der Funktionsname angezeigt.
Nach "-" wird es der Wert für Rang und zyklomatische Komplexität.
Der Rang wird durch den Wert der zyklomatischen Komplexität bestimmt.
CC-Wert | Rang | Risiko |
---|---|---|
1 - 5 | A | low -Einfacher Block |
6 - 10 | B | low -Gut strukturierter und stabiler Block |
11 - 20 | C | moderate -Ein etwas komplizierter Block |
21 - 30 | D | more than moderate -Komplexere Blöcke |
31 - 40 | E | high -Komplexe Blöcke, alarmierend |
41+ | F | very high -Instabile Blöcke, die fehleranfällig sind |
Möglichkeit: Für den Befehl cc stehen folgende Optionen zur Verfügung:
Option | Erläuterung |
---|---|
-s, --show | Zyklomatische Komplexität anzeigen. |
-n, --min | Stellen Sie den anzuzeigenden Mindestrang ein. Geben Sie nach diesem Argument A bis F an |
-x, --max | Legen Sie den maximalen Rang fest, der angezeigt werden soll. Geben Sie nach diesem Argument A bis F an |
-a, --average | Zeigen Sie am Ende den Durchschnitt der zyklomatischen Komplexität an. Dieser Durchschnitt ist-Noch-Betroffen von x Filter |
--total-average | Erhalten Sie den Durchschnitt aller Daten-Im Gegensatz zu a wird es vom Filter nicht beeinflusst |
-e, --exclude | Geben Sie den Pfad der Datei an, die von der Analyse ausgeschlossen werden soll, getrennt durch Kommas. |
-i, --ignore | Geben Sie die zu ignorierenden Verzeichnisse an, die durch Kommas getrennt sind. Überprüfen Sie nicht unter dem ignorierten Verzeichnis |
-o, --order | Geben Sie die Sortierreihenfolge an. SCORE in der Reihenfolge der Komplexität Zeilen nach Anzahl der Zeilen Reihenfolge der ALPHA-Blocknamen |
-j, --json | Geben Sie das Ergebnis in JSON aus |
--no-assert | Asser bei der Berechnung der Komplexität()Anweisungen zählen nicht |
Messen Sie den Wartbarkeitsindex mit dem Befehl mi. Die Wartbarkeit wird aus der zyklomatischen Komplexität und der Anzahl der Zeilen berechnet, wobei 100 die höchste ist, je einfacher die Wartung ist.
Siehe unten für Details https://radon.readthedocs.org/en/latest/intro.html#maintainability-index
__Beispiel der Verwendung: __
radon mi -s ".\*.py"
__ Ausgabeinhalt: __
C:\dev\py33>radon mi -s "test.py"
test.py - A (58.76)
Dateiname, Rang, MI-Punktzahl anzeigen
Der Rang ist wie folgt
MI score | Rank | Maintainability |
---|---|---|
100 - 20 | A | Sehr teuer |
19 - 10 | B | Mittel |
9 - 0 | C | Sehr niedrig |
Möglichkeit: Für den Befehl mi stehen folgende Optionen zur Verfügung:
Option | Erläuterung |
---|---|
-s, --show | Zeigen Sie den Wartbarkeitsindex an. |
-e, --exclude | Geben Sie den Pfad der Datei an, die von der Analyse ausgeschlossen werden soll, getrennt durch Kommas. |
-i, --ignore | Geben Sie die zu ignorierenden Verzeichnisse an, die durch Kommas getrennt sind. Überprüfen Sie nicht unter dem ignorierten Verzeichnis |
-m, --multi | Zählen Sie mehrzeilige Zeichenfolgen nicht als Kommentare |
Der Befehl raw gibt die folgenden Zahlen aus.
・ LOC: Gesamtzahl der Zeilen -LLOC_: Logisches LOC. Ausgenommen Leerzeilen und Kommentarzeilen · SLOC: Quell-LOC. Ohne Leerzeilen. ・ Kommentare: Kommentarzeile · Multi: Mehrzeilige Zeichenfolge. Kann als Kommentar betrachtet werden ・ Blank: Leere Linie
Möglichkeit: Für den Befehl raw stehen folgende Optionen zur Verfügung:
Option | Erläuterung |
---|---|
-s, --summary | Zeigen Sie das gemessene Aggregationsergebnis an |
-e, --exclude | Geben Sie den Pfad der Datei an, die von der Analyse ausgeschlossen werden soll, getrennt durch Kommas. |
-i, --ignore | Geben Sie die zu ignorierenden Verzeichnisse an, die durch Kommas getrennt sind. Überprüfen Sie nicht unter dem ignorierten Verzeichnis |
-j, --json | Geben Sie das Ergebnis in JSON aus |
Sie können Radon aus Python verwenden, indem Sie das Radonmodul in den Python-Code importieren.
Beispiel:
import radon
from radon import raw
ret = radon.raw.analyze("""
if a==1:
print (a)
if a==2:
print (a)
""")
print(ret)
Weitere Informationen finden Sie in der Hilfe oder unten https://radon.readthedocs.org/en/latest/api.html
Recommended Posts