Ich habe das Metrics-Plugin ausprobiert und obwohl es nett ist, ist es nicht das, wonach mein Chef sucht. Es zählt eine Linie mit nur einer }
als Linie und er möchte nicht, dass dies als "es ist keine Linie, es ist eine Stilwahl" zählt. Ich muss auch eine Art Bericht über die bereitgestellten Metriken erstellen. Gibt es dafür gute Werkzeuge?
eclipse
metrics
line-count
verwirrt
quelle
quelle
Antworten:
Installieren Sie das Eclipse Metrics Plugin . So erstellen Sie einen HTML-Bericht (mit optionalem XML und CSV)
right-click a project -> Export -> Other -> Metrics
.Sie können die Metriken für Codezeilen anpassen, indem Sie leere Zeilen und Kommentare ignorieren oder Javadoc ausschließen, wenn Sie möchten. Überprüfen Sie dazu die Registerkarte unter
Preferences -> Metrics -> LoC
.Das ist es. Es gibt keine spezielle Option, um geschweifte Klammern auszuschließen
{}
.Das Plugin bietet eine alternative Metrik zu LoC namens Number of Statements . Dies ist, was der Autor dazu zu sagen hat:
Bearbeiten:
Nachdem Sie Ihre Frage geklärt haben, benötigen Sie meines Erachtens eine Ansicht für Verstöße gegen Echtzeitmetriken, z. B. Compiler-Warnungen oder -Fehler. Sie benötigen außerdem eine Berichtsfunktion, um Berichte für Ihren Chef zu erstellen. Das oben beschriebene Plugin dient zur Berichterstellung, da Sie die Metriken exportieren müssen, wenn Sie sie anzeigen möchten.
quelle
right click a project -> Export
, ich habe das Plug-In direkt vom Eclipse-Marktplatz installiert - Version ist -Eclipse Metrics 3.12.0
, kann mir bitte jemand helfen. Vielen Dank!Es gibt immer die "Brute Force":
Suche-> Datei
Geben Sie Folgendes unter "Text enthalten" -> ein
^.*$
. Aktivieren Sie dann das Kontrollkästchen "Regulärer Ausdruck"Geben Sie Folgendes unter "Dateinamenmuster" -> ein
*.java
Klicken Sie auf "Suchen"
Überprüfen Sie die Anzahl der Übereinstimmungen auf der Registerkarte "Suchen".
quelle
\n[\s]*
und es wird auch leere Zeilen ignorierenWenn unter OSX oder * NIX verwenden
Holen Sie sich alle aktuellen Zeilen von Java-Code aus * .java-Dateien
Ruft alle Zeilen aus den * .java-Dateien ab, die leere Zeilen und Kommentare enthalten
Holen Sie sich Informationen pro Datei, dies gibt Ihnen [Pfad zur Datei + "," + Anzahl der Zeilen]
quelle
find . -name "*.java" | xargs cat | grep "[a-zA-Z0-9{}]" | wc -l
Eine andere Möglichkeit wäre die Verwendung eines anderen Dienstprogramms loc, z. B. LocMetrics .
Es werden auch viele andere Loc-Tools aufgelistet . Die Integration mit Eclipse wäre nicht immer vorhanden (wie bei Metrics2 , das Sie überprüfen können, da es sich um eine neuere Version als Metrics handelt ), aber zumindest diese Tools können logische Zeilen (berechnet durch Summieren) begründen die terminalen Semikolons und terminalen geschweiften Klammern).
Sie können auch überprüfen, ob Eclipse-Metriken besser an Ihre Erwartungen angepasst sind.
quelle
Ein weiteres Tool ist Google Analytix , mit dem Sie auch Metriken ausführen können, wenn Sie das Projekt im Fehlerfall nicht erstellen können
quelle
Eine Möglichkeit, Codezeilen in Eclipse zu zählen:
Wählen Sie im Menü Suchen / Datei ... die Registerkarte Dateisuche, geben Sie \ n [\ s] * für Text an (dies zählt keine leeren Zeilen) und aktivieren Sie den Befehl Regulärer Ausdruck.
Hutspitze : www.monblocnotes.com/node/2030
quelle
Ich habe ein Eclipse-Plugin erstellt, das die Zeilen des Quellcodes zählen kann. Es unterstützt Kotlin, Java, Java Script, JSP, XML, C / C ++, C # und viele andere Dateitypen.
Bitte schauen Sie es sich an. Jedes Feedback wäre dankbar!
Das Git-Hub-Repository ist hier
quelle
ProjectCodeMeter zählt LLOC (logische Codezeilen) genau wie beschrieben (nur effektive Zeilen). Es lässt sich als externes Code-Metrik-Tool in Eclipse integrieren. Es ist jedoch nicht in Echtzeit, sondern generiert einen Bericht. Tatsächlich werden viele Quellcode-Metriken wie Komplexität, arithmetische Komplexität, fest codierte Zeichenfolgen, numerische Konstanten gezählt. Die Entwicklungszeit wird sogar in Stunden geschätzt .
quelle
Für die statische Analyse habe ich SonarQube verwendet und empfohlen, das nahezu alle Metriken ausführt, die Sie möglicherweise für eine Vielzahl von Sprachen benötigen , und in der Basisversion kostenlos ist (Sie müssen bezahlen, um die Arten von Sprachen zu analysieren, die ich möchte Code nur mit einer Waffe an meinem Kopf).
Sie müssen es als Web-App installieren, die die Analyse von Ihrem Quellcode-Repository aus ausführt, aber es verfügt auch über ein Eclipse-Plugin .
Es ist übertrieben, wenn Sie nur einmal wissen möchten, wie viele Codezeilen sich in Ihrem Projekt befinden. Wenn Sie Metriken über die Zeit verfolgen, projektübergreifende Vergleiche durchführen, Warnungen auslösen möchten, wenn ein Schwellenwert überschritten wird usw., ist dies fantastisch.
Offenlegung: Ich habe keine finanzielle Beziehung zu SonarSource.
quelle
Als erstes müssen Sie Ihre Definition von "Codezeile" (LOC) festlegen. In beiden deiner Frage
und in den Antworten, z.
Sie können feststellen, dass Menschen unterschiedliche Meinungen darüber haben, was eine Codezeile ausmacht. Insbesondere sind die Leute oft ungenau, ob sie wirklich die Anzahl der Codezeilen oder die Anzahl der Anweisungen wollen. Wenn Sie beispielsweise die folgende wirklich lange Zeile mit Anweisungen gefüllt haben, was möchten Sie melden, 1 LOC oder Hunderte von Anweisungen?
Und wenn Sie jemand fragt, wie Sie ein LOC nennen, stellen Sie sicher, dass Sie antworten können, auch wenn es nur "meine Definition eines LOC ist die Definition von Metrics2" ist. Im Allgemeinen geben die gängigen Tools für den am häufigsten formatierten Code (im Gegensatz zu meinem Beispiel) ziemlich ähnliche Zahlen an, sodass Metrics2, SonarQube usw. in Ordnung sein sollten, solange Sie sie konsistent verwenden. Mit anderen Worten, zählen Sie den LOC eines Codes nicht mit einem Werkzeug und vergleichen Sie diesen Wert mit einer späteren Version dieses Codes, die mit einem anderen Werkzeug gemessen wurde.
quelle