Lines of Code

Anzahl der Codezeilen eines Projektes bestimmen (Lines of Code)

By

in

Zum Abschätzen der Komplexität eines Software-Projektes ist es von Vorteil, die Anzahl der Code-Zeilen (Lines of Code) zu bestimmen. Dazu gibt es verschiedene Möglichkeiten:

wc

Eine sehr einfache Variante ist der Konsolenbefehl wc (word count). Um diesen auf alle Dateien eines Verzeichnisses anzuwenden, kann folgende Befehlszeile verwendet werden:

find . \( -iname '*.[ch]' -o -iname '*.php' -o -iname '*.pl' \) -exec wc -l {} + | sort -n

Dieser durchsucht *.c, *.h, *.php und *.pl Dateien im aktuellen Verzeichnis, zählt die enthaltenen Codezeilen und gibt eine sortierte Dateiliste aus.

cloc

Eine weitere Möglichkeit ist die Verwendung von cloc. cloc lässt sich bequem über HomeBrew installieren:

brew install cloc

Dieser Befehl kann auf die Dateien von Verzeichnissen angewendet werden:

cloc ./src ./plugins ./tests

Die Ausgabe ist eine Liste von Dateitypen mit den entsprechenden Zahlen:

      48 text files.
      41 unique files.                              
       8 files ignored.

github.com/AlDanial/cloc v 1.99  T=0.04 s (1054.9 files/s, 189646.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          28           1519            728           4659
reStructuredText                 6            102             20            203
YAML                             2              9              2             75
Bourne Shell                     3              6              0             17
Text                             1              0              0             11
make                             1              4              6             10
-------------------------------------------------------------------------------
SUM:                            41           1640            756           4975
-------------------------------------------------------------------------------

Die Dokumentation bietet eine Menge an Optionen, um bestimmte Verzeichnisse oder Datentypen einzubinden oder auszuschließen.

Foto von Joan Gamell auf Unsplash



Comments

Leave a Reply

Your email address will not be published. Required fields are marked *