GoGPT Best VPN GoSearch

OnWorks-Favicon

Komplexität - Online in der Cloud

Führen Sie Komplexität im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist die Befehlskomplexität, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


Komplexität - Messen Sie die Komplexität der C-Quelle

ZUSAMMENFASSUNG


Komplexität [-Flaggen] [-Flagge [Wert]] [--optionsname[[=| ]Wert]] [ ... ]

Die Operanden, mit denen dieses Programm arbeitet, können entweder in der Befehlszeile oder angegeben werden
von der Standardeingabe gelesen, eine pro Zeile. In dieser Eingabe führende und nachgestellte Leerzeichen
entfernt wird, werden Leerzeilen ignoriert. Die Standardeingabe darf kein Terminal sein.

Berechnen Sie die Komplexität des Quellcodes nicht nur anhand einer Pfad-durch-den-Code-Zählung, sondern auch
Außerdem wird die Zeilenanzahl durch Verschachtelung von Logikebenen erhöht.

Berechnen Sie die Komplexität des Codes, indem Sie die Zeilen der Quelle ohne Kommentar zählen und mit multiplizieren
ein verschachtelter logischer Gewichtungsfaktor. Standardmäßig 1.9.

BESCHREIBUNG


Das Gewicht jeder Anweisung ist die Anzahl der Zeilen, die die Anweisung verwendet. Dieser Wert ist
multipliziert mit der Gewichtung der verschachtelten Logik (standardmäßig 1.9) für jede Logikebene. Für
Beispiel, dieser Ausschnitt:

if (foo) {
if (bar) {
Hummel; baz;
}
}

erhält eine Punktzahl von 11. Diese Punktzahl wird dann auf einen ungefähren Wert skaliert pmccabe Ergebnisse durch Division durch 20
und Rundung. Dies wird am Ende mit „1“ bewertet. pmccabe punktet besser bei einfachen Verfahren und
Komplexität punktet besser mit tiefer verschachtelter Logik.

Die Wertung kann durch Anpassen der angepasst werden --nesting-penalty und --Skala-ing Faktoren.
Die Standardwerte wurden durch Vergleich der Durchschnittsergebnisse von Millionen von Zeilen kalibriert
von Code mit den Ergebnissen von pmccabe.

Für die Zwecke dieses Programms wird eine Prozedur durch einen Namen gefolgt von einem identifiziert
Klammerausdruck und dann eine öffnende geschweifte Klammer. Es endet mit einer abschließenden Locke
Klammer in Spalte 1.

Dieses Programm führt seine Funktion für jede Datei aus, die auf der Befehlszeile oder jedes
Datei mit dem Namen in einer aus stdin gelesenen Liste. Die Argumente oder Eingabenamen müssen bereits vorhanden sein
Dateien. Die Eingabeliste kann Kommentare enthalten, bei denen es sich um Leerzeilen oder Zeilen beginnend mit handelt
ein Charakter.

OPTIONAL


-t Minimum, --Schwelle=Minimum
Meldeschwelle. Diese Option verwendet eine Ganzzahl als Argument. Der
Standard Minimum für diese Option ist:
30

Ignorieren Sie alle Verfahren, deren Komplexitätsmaß unter diesem Schwellenwert liegt. Standardmäßig,
ein Komplexitätswert von unter 30 wird nicht gedruckt. Wenn jedoch ein Histogramm und
Sollen Statistiken ausgedruckt werden, nicht jedoch einzelne Verfahrensergebnisse, dann ist dies die Standardeinstellung
wird auf Null gesetzt. Verfahren unterhalb dieser Grenze werden in der Statistik nicht berücksichtigt.

--horrid-threshold=Minimum
Null-Ausgangsschwelle. Diese Option verwendet eine Ganzzahl als Argument. Der
Standard Minimum für diese Option ist:
100

Wenn die Punktzahl einer Prozedur über diesem Schwellenwert liegt, wird das Programm beendet.
null. (4/COMPLEX_EXIT_HORRID_FUNCTION, wenn keine anderen Probleme auftreten.) Von
Standardmäßig beendet dieses Programm Null, es sei denn, eine Funktion überschreitet die schreckliche Punktzahl von
100

-n Faktor, --nesting-penalty=Faktor
Punktemultiplikator für verschachtelten Code.

Sprachliche Konstrukte wiegen umso schwerer, je tiefer sie verschachtelt sind. Von
Standardmäßig wird jede Ebene mit dem Faktor 1.9 bestraft. Das Optionsargument ist a
Gleitkommazahl. Die Strafe kann 1 betragen, aber nicht weniger.

--demi-nesting-penalty=Faktor
Punktemultiplikator für verschachtelte Ausdrücke.

Standardmäßig liegt dieser Wert in der Mitte zwischen 1.0 und der Verschachtelungsstrafe
(insbesondere die Quadratwurzel der Verschachtelungsstrafe). Es bezieht sich auf a
Unterausdruck in Klammern. z.B
((a > b) && (c > d))
enthält zwei in Klammern gesetzte Unterausdrücke. Dies würde 3.5 Punkte zählen. Auf der
Andererseits das:
(a > b && c > d)
enthält zwei Beziehungsoperatoren und einen logischen Operator auf derselben Ebene. Diese
Verschachtelte Zählungen werden miteinander multipliziert und ergeben das Ergebnis 2.5 * 2.5 oder 6.25. Tu es nicht
Das. Es wird noch schlimmer, wenn Sie logische Unds und Oders auf derselben Ebene haben.

-s Faktor, --Skala=Faktor
Komplexitätsskalierungsfaktor. Diese Option verwendet eine Ganzzahl als Argument.

Standardmäßig ist die Skalierung 20, was den Rohwert durch 20 dividiert. Das war
normalisiert, um ungefähr dem zu entsprechen pmccabe Noten:

0 - 9 Leicht zu wartender Code.

10 - 19 Mit wenig Aufwand gewartet.

20 - 29 Mit einigem Aufwand gepflegt.

30 - 39 Schwierig zu pflegender Code.

40 - 49 Schwierig zu pflegender Code.

50 - 99 Nicht wartbarer Code.

100 - 199 Verrückt, schwierigen Code zu machen.

200+ Ich wünschte nur, ich mache Witze.
Ergebnis | ln-ct | nc-lns| Dateiname(Zeile): proc-name
4707 3815 2838 lib/vasnprintf.c(1747): VASNPRINTF

-h, --Histogramm, --kein Histogramm
Histogramm der Komplexitätszahlen anzeigen. Der Kein Histogramm Formular deaktiviert die
Möglichkeit. Diese Option darf nicht mit Umgebungsvariablen oder in voreingestellt sein
Initialisierungsdateien (rc).

Anstatt die Punktzahl jeder Funktion auszudrucken, wird am Ende eine Zusammenfassung gedruckt
Zeigt an, wie viele Funktionen bestimmte Bewertungsbereiche hatten. Es sei denn --scores is
Wird ausdrücklich darauf hingewiesen, werden die Partituren bei Angabe dieser Option nicht gedruckt. Der
Die Mindestpunktzahl wird ebenfalls auf Null (0) gesenkt, es sei denn --Schwelle is
spezifiziert.

-c, --scores, --no-scores
Zeigen Sie die Punktzahl für jedes Verfahren an. Der Keine Punkte Formular deaktiviert die Option.
Diese Option darf nicht bei Umgebungsvariablen oder in der Initialisierung (rc) voreingestellt sein
Dateien.

Wenn Sie angeben --Histogramm, Einzelergebnisse werden nicht angezeigt, es sei denn, dies ist der Fall
Option ist angegeben.

-I Schnur, --ignorieren=Schnur
Prozedurname, der ignoriert werden soll. Diese Option kann unbegrenzt oft angezeigt werden.

In einigen Codes sind Makros definiert, die die lexikalische Analyse verwirren. Dies wird dazu führen
sie zu ignorieren. Andere Möglichkeiten, Funktionen zu ignorieren, sind:

Verwenden Sie die K&R-Syntax für einen Prozedurheader.

Verwenden Sie ein Vorverarbeitungsmakro, um den Prozedurheader zusammenzustellen.

Vereinfachen Sie Ihren Code.
Im Allgemeinen führt alles, was Sie tun, was die normale C-Syntax ändert, zu Verwirrung
lexikalische Analyse. Wenn ein Vorgang nicht angezeigt wird, wird er nicht gezählt. Wenn
Wenn der Code innerhalb einer Prozedur unverständlich ist, werden Sie wahrscheinlich unangemessen sein
Ergebnisse angezeigt

-H, --no-header
Scoring-Header nicht drucken. Diese Option ist möglicherweise nicht mit der Umgebung voreingestellt
Variablen oder in Initialisierungsdateien (rc).

Wenn ein Skript die Bewertungsausgabe verarbeiten soll, ist das Parsen ohne ein einfacher
Header. Die Histogrammausgabe wird immer eine Kopfzeile haben.

-u unifdef-opt, --unifdef=unifdef-opt
Führen Sie die Quelle(n) durch unifdef(1BSD). Diese Option erscheint möglicherweise unbegrenzt
Anzahl.

Entfernen Sie umgebende Codeabschnitte #if/#endif Richtlinien. Die Option
argument wird als Argument an übergeben unifdef(1BSD) Programm. Zum Beispiel:
Komplexität -u-Dsymbol
würde dazu führen Symbol definieren und Codeabschnitte mit vorangestelltem entfernen #ifndef
Symbol Richtlinien.

Bitte beachten Sie die unifdef Dokumentation für weitere Informationen.

--unif-exe=prog
Geben Sie das unifdef-Programm an.

Alternatives Programm zur Vereinheitlichung der Eingabe.

-i Dateiname, --Eingang=Dateiname
Datei der Dateiliste.

Anstelle einer Befehlszeilenliste mit Eingabedateien oder deren Lesen aus dem Standard
Eingabe, lesen Sie die Liste der Dateien aus dieser Datei.

--verfolgen=Dateiname
Trace-Ausgabedatei.

Drucken Sie Zwischenergebnisse in eine Trace-Datei.

-?, --help
Nutzungsinformationen anzeigen und beenden.

-!, --mehr Hilfe
Übergeben Sie die erweiterten Nutzungsinformationen über einen Pager.

-> [cfg-Datei], --save-opts [=cfg-Datei]
Speichern Sie den Optionsstatus unter cfg-Datei. Die Standardeinstellung ist die letzte Konfigurationsdatei
aufgeführt in der zur Auswahl PRESETS Abschnitt, unten. Der Befehl wird nach der Aktualisierung beendet
die Konfigurationsdatei.

-< cfg-Datei, --load-opts=cfg-Datei, --no-load-opts
Optionen laden von cfg-Dateidem „Vermischten Geschmack“. Seine Leerlauf-Optionen Formular deaktiviert das Laden von
frühere config/rc/ini-Dateien. --no-load-opts wird früh bearbeitet, außer Betrieb.

-v [{v|c|n --Version [{v|c|n}]}]
Programmversion ausgeben und beenden. Der Standardmodus ist `v', eine einfache Version.
Der Modus „c“ druckt Copyright-Informationen und „n“ druckt das vollständige Copyright
bemerken.

zur Auswahl PRESETS


Jede Option, die nicht als . markiert ist nicht voreinstellbar kann durch Laden von Werten von voreingestellt werden
Konfigurationsdatei(en) ("RC" oder ".INI") und Werte aus Umgebungsvariablen namens:
KOMPLEXITÄT_ or KOMPLEXITÄT
Die Umgebungsvorgaben haben Vorrang (werden später verarbeitet als) die Konfiguration
Dateien. das homerc Dateien sind "$@/complex.conf""$ HOME""$PROJECT_ROOT/complex.conf", und
".". Wenn eines davon Verzeichnisse ist, dann die Datei .complexityrc wird im Inneren gesucht
diese Verzeichnisse.


Weitere Informationen finden Sie auch in den zur Auswahl PRESETS für Konfigurationsumgebungsvariablen.

Nutzen Sie Komplexität online mit den Diensten von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.