888 Stimmen

Können Sie die Anzahl der Codezeilen aus einem GitHub-Repository abrufen?

In einem GitHub-Repository können Sie "Sprachstatistiken" sehen, die den Prozentsatz des Projekts anzeigen, der in einer Sprache geschrieben ist. Es zeigt jedoch nicht an, wie viele Zeilen Code das Projekt umfasst. Oft möchte ich schnell einen Eindruck von der Größe und Komplexität eines Projekts bekommen, und die Anzahl der Codezeilen kann einen guten ersten Eindruck vermitteln. 500 Codezeilen implizieren ein relativ einfaches Projekt, 100.000 Codezeilen implizieren ein sehr großes/kompliziertes Projekt.

Also, ist es möglich, die in verschiedenen Sprachen geschriebenen Codezeilen aus einem GitHub-Repository zu erhalten, am besten ohne es zu klonen?


Die Frage "Anzahl der Zeilen in einem Git-Repository zählen" fragt, wie man die Codezeilen in einem lokalen Git-Repository zählt, aber:

  1. Sie müssen das Projekt klonen, was riesig sein könnte. Das Klonen eines Projekts wie Wine dauert beispielsweise eine Ewigkeit.
  2. Sie würden Zeilen in Dateien zählen, die nicht unbedingt Code enthalten, wie z.B. 13n-Dateien.
  3. Wenn Sie z.B. nur Ruby-Dateien zählen würden, könnten Sie eine massive Menge an Code in anderen Sprachen wie JavaScript verpassen. Sie müssten im Voraus wissen, welche Sprachen das Projekt verwendet. Sie müssten auch die Zählung für jede Sprache wiederholen, die das Projekt verwendet.

Alles in allem ist dies möglicherweise viel zu zeitaufwändig, um "schnell die Größe eines Projekts zu überprüfen".

14voto

ishandutta2007 Punkte 14498

Öffnen Sie das Terminal und führen Sie folgendes aus:

curl -L "https://api.codetabs.com/v1/loc?github=username/reponame"

12voto

lovasoa Punkte 5768

Firefox-Add-On Github SLOC

Ich habe ein kleines Firefox-Add-On geschrieben, das die Anzahl der Codezeilen auf Github-Projektseiten ausgibt: Github SLOC

12voto

Max Punkte 171

Sie könnten ghloc.vercel.app verwenden - damit ist es möglich, die Zeilen in einem öffentlichen Github-Repository zu zählen.

11voto

Tobi Obeck Punkte 1420
npm install sloc -g

git clone --depth 1 https://github.com/vuejs/vue/
sloc ".\vue\src" --format cli-table
rm -rf ".\vue\"

Anweisungen und Erklärung

  1. Installieren Sie sloc von npm, ein Befehlszeilentool (Node.js muss installiert sein).

    npm install sloc -g

  2. Klonen Sie das flache Repository (schnellerer Download als voller Klon).

    git clone --depth 1 https://github.com/facebook/react/

  3. Führen Sie sloc aus und geben Sie den Pfad an, der analysiert werden soll.

    sloc ".\react\src" --format cli-table

sloc unterstützt die Ausgabeformatierung als cli-table, als json oder csv. Reguläre Ausdrücke können verwendet werden, um Dateien und Ordner auszuschließen (Weitere Informationen auf npm).

  1. Repository-Ordner löschen (optional)

Powershell: rm -r -force ".\react\" oder auf Mac/Unix: rm -rf ".\react\"

Bildschirmfotos der ausgeführten Schritte (cli-table):

sloc-Ausgabe alscli-table

sloc-Ausgabe (ohne Argumente):

sloc-Ausgabe ohne Argumente

Es ist auch möglich, Details für jede Datei mit der Option --details zu erhalten:

sloc ".\react\src" --format cli-table --details     

Beispiel zum Speichern von Details zu allen .ts Dateien in einer CSV-Datei:

sloc --include "(.ts|.tsx)$" --exclude node_modules ./ --format csv --details > code_stats_all.csv

8voto

Jimmy Da Punkte 109

Wenn die Frage lautet "Kannst du schnell die ANZAHL DER CODEZEILEN eines Github-Repositorys erhalten", lautet die Antwort nein, wie in den anderen Antworten angegeben.

Wenn die Frage jedoch lautet "Kannst du schnell die GRÖßE eines Projekts überprüfen", schätze ich ein Projekt normalerweise, indem ich mir seine Größe anschaue. Natürlich werden in die Größe alle Änderungen aus allen aktiven Commits einbezogen, aber es ist eine gute Metrik, da die Größenordnung recht nahe liegt.

Zum Beispiel.

Wie groß ist das "docker"-Projekt?

Geben Sie in Ihrem Browser api.github.com/repos/ORG_NAME/PROJEKT_NAME ein, d.h. api.github.com/repos/docker/docker

In der Antwort-Hash finden Sie das size-Attribut:

{
    ...
    size: 161432,
    ...
}

Dies sollte Ihnen eine Vorstellung von der relativen Größe des Projekts geben. Die Zahl scheint in KB zu sein, aber als ich es auf meinem Computer überprüft habe, ist es tatsächlich kleiner, obwohl die Größenordnung konsistent ist. (161432KB = 161MB, du -s -h docker = 65MB)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X