Die Analyse von Codezeilen (Lines of Code, kurz LOC) ist ein gängiges Verfahren, um den Umfang und die Struktur eines Softwareprojekts zu bewerten. Mit dem Tool cloc
(Count Lines of Code) lässt sich dies einfach und effizient bewerkstelligen. cloc
ist ein leistungsstarkes, plattformübergreifendes Open-Source-Tool, das speziell für die Analyse von Quellcode entwickelt wurde. Es kann nicht nur die Anzahl der Codezeilen zählen, sondern auch Kommentare und Leerzeilen analysieren.
In diesem Artikel erklären wir die Funktionsweise von cloc
, seine Installation und wie Sie es optimal nutzen können, um ein Java-Projekt zu analysieren.
Warum cloc
?
cloc
bietet eine Vielzahl von Vorteilen gegenüber der manuellen Analyse mit Befehlen wie find
oder wc
:
- Unterstützt mehrere Programmiersprachen:
cloc
erkennt automatisch über 180 verschiedene Sprachen. - Detaillierte Analyse: Es unterscheidet zwischen Codezeilen, Kommentaren und Leerzeilen.
- Plattformunabhängigkeit:
cloc
läuft auf Linux, macOS und Windows. - Einfache Bedienung: Mit wenigen Befehlen lassen sich umfassende Berichte erstellen.
Installation von cloc
Die Installation von cloc
ist unkompliziert und variiert je nach Betriebssystem:
Linux
Auf Debian- oder Ubuntu-basierten Systemen:
sudo apt update
sudo apt install cloc
Auf Fedora oder CentOS:
sudo dnf install cloc
macOS
Mit Homebrew:
brew install cloc
Windows
Laden Sie die ausführbare Datei von der offiziellen cloc-Website herunter oder verwenden Sie Chocolatey:
choco install cloc
Alternative: Docker
Falls Docker auf Ihrem System installiert ist, können Sie cloc
direkt als Container ausführen:
docker run --rm -v $(pwd):/app --workdir /app aldanial/cloc .
Code-Sprache: JavaScript (javascript)
Verwendung von cloc
für Java-Projekte
1. Grundlegende Anwendung
Um die Anzahl der Codezeilen in einem Java-Projekt zu analysieren, wechseln Sie in das Hauptverzeichnis des Projekts und führen Sie den folgenden Befehl aus:
cloc .
Beispielausgabe:
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Java 3 15 12 85
XML 2 5 0 20
-------------------------------------------------------------------------------
SUM: 5 20 12 105
-------------------------------------------------------------------------------
Erklärung der Spalten:
- Language: Die erkannte Programmiersprache.
- files: Anzahl der analysierten Dateien.
- blank: Anzahl der Leerzeilen.
- comment: Anzahl der Kommentarzeilen.
- code: Anzahl der Codezeilen.
2. Nur Java-Dateien analysieren
Falls Ihr Projekt auch andere Dateitypen wie XML oder YAML enthält, können Sie die Analyse auf Java-Dateien beschränken:
cloc --include-lang=Java .
Code-Sprache: PHP (php)
Beispielausgabe:
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Java 3 15 12 85
-------------------------------------------------------------------------------
3. Ausschluss bestimmter Dateien oder Verzeichnisse
cloc
erlaubt es, bestimmte Dateien oder Verzeichnisse auszuschließen. Um z. B. das test
-Verzeichnis von der Analyse auszunehmen:
cloc . --exclude-dir=test
Oder um Dateien mit bestimmten Namen auszuschließen:
cloc . --exclude-ext=xml,yml
4. Ausgabe in einer Datei speichern
Um die Analyse in einer Datei zu speichern, können Sie die Standard-Output-Umleitung verwenden:
cloc . > cloc_report.txt
Code-Sprache: CSS (css)
Alternativ können Sie das integrierte JSON- oder CSV-Exportformat verwenden:
cloc . --json > cloc_report.json
cloc . --csv > cloc_report.csv
Code-Sprache: CSS (css)
5. Vergleich von Codeänderungen zwischen zwei Versionen
cloc
kann auch Unterschiede zwischen zwei Projektversionen analysieren. Hierfür benötigen Sie zwei Verzeichnisse, die die alten und neuen Versionen des Projekts enthalten:
cloc old_version/ new_version/ --diff
Beispielausgabe:
-------------------------------------------------------------------------------
Language files added removed modified code_diff
-------------------------------------------------------------------------------
Java 2 30 5 10 25
-------------------------------------------------------------------------------
Erklärung der Spalten:
- added: Anzahl der hinzugefügten Zeilen.
- removed: Anzahl der entfernten Zeilen.
- modified: Anzahl der geänderten Zeilen.
- code_diff: Netto-Differenz der Codezeilen.
Erweiterte Funktionen von cloc
1. Analyse großer Projekte
cloc
skaliert gut für große Projekte. Wenn Sie die Analyse beschleunigen möchten, können Sie die Option --vcs
verwenden, um nur Dateien zu berücksichtigen, die unter Versionskontrolle stehen:
cloc . --vcs=git
2. Spracherkennung anpassen
cloc
erkennt automatisch die meisten Programmiersprachen. Falls eine Sprache nicht korrekt erkannt wird, können Sie sie manuell festlegen:
cloc . --force-lang=Java
Fazit
cloc
ist ein unverzichtbares Werkzeug, um schnell und präzise die Anzahl der Codezeilen in Java-Projekten zu ermitteln. Es zeichnet sich durch seine Benutzerfreundlichkeit, hohe Anpassbarkeit und detaillierten Berichte aus. Egal, ob Sie ein kleines Projekt analysieren oder die Codeentwicklung in einem großen Team überwachen möchten – cloc
liefert Ihnen wertvolle Einblicke in Ihren Quellcode.
Durch Funktionen wie die Unterscheidung zwischen Code, Kommentaren und Leerzeilen sowie den Vergleich zwischen verschiedenen Versionen ist cloc
weit mehr als nur ein einfacher Zeilenzähler. Probieren Sie es aus, und überzeugen Sie sich selbst von seiner Vielseitigkeit!