cloc - Zielen Coden a ville Programméierungssproochen


Wann Dir un verschiddene Projete schafft, kënnt Dir heiansdo verlaangt sinn e Bericht oder Statistike vun Ärem Fortschrëtt ze bidden, oder einfach de Wäert vun Ärem Code ze berechnen.

Et gëtt dësen einfachen awer mächtege Tool mam Numm Cloc - Code Zeilen zielen dat Iech erlaabt all Zuel vun Ärem Code ze zielen an Kommentarer an eidel Zeilen zur selwechter Zäit auszeschléissen.

Et ass verfügbar an all gréisser Linux Verdeelungen an ënnerstëtzt verschidde Programméierungssproochen an Dateiextensiounen an huet keng spezifesch Ufuerderunge fir ze benotzen.

An dësem Tutorial gitt Dir léiere wéi Dir Cloc op Ärem Linux System installéiere kënnt a benotzt.

Wéi installéiere a benotzt Cloc a Linux Systemer

Cloc z'installéieren ass einfach an einfach. Hei ënnen kënnt Dir kucken wéi Dir Cloc a verschiddene Betribssystemer mat hire verwandte Packagemanager installéiere wëllt:

$ sudo apt install cloc                  # Debian, Ubuntu
$ sudo yum install cloc                  # Red Hat, Fedora
$ sudo dnf install cloc                  # Fedora 22 or later
$ sudo pacman -S cloc                    # Arch
$ sudo emerge -av dev-util/cloc          # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
$ sudo apk add cloc                      # Alpine Linux
$ sudo pkg install cloc                  # FreeBSD
$ sudo port install cloc                 # Mac OS X with MacPorts
$ brew install cloc                      # Mac OS X with Homebrew
$ npm install -g cloc                    # https://www.npmjs.com/package/cloc

Cloc ka benotzt ginn fir Zeilen a bestëmmte Fichier oder a multiple Dateien am Verzeechnes ze zielen. Fir Cloc ze benotzen, gitt einfach Cloc gefollegt vun der Datei oder Verzeechnes déi Dir wëllt ënnersichen.

Hei ass e Beispill vun enger Datei am Bash. D'Datei a Fro enthält de folgende Code am Bash:

$ cat bash_script.sh

Loosst eis elo Clock drop lafen.

$ cloc bash_script.sh

Wéi Dir gesitt, huet et d'Zuel vun de Dateien, eidel Zeilen, Kommentaren a Codelinnen gezielt.

Eng aner cool Feature vu Cloc ass datt et souguer op kompriméierte Dateien benotzt ka ginn. Zum Beispill hunn ech dat lescht WordPress Archiv erofgelueden a cloc drop gelaf.

$ cloc latest.tar.gz

Hei ass d'Resultat:

Dir kënnt gesinn datt et déi verschidden Aarte vu Code erkennt an d'Statistike pro Sprooch trennt.

Am Fall wou Dir e Bericht fir méi Dateien an engem Verzeichnis braucht, kënnt Dir d'Optioun \--vun-Datei benotzen, déi d'Zeilen an all Datei zielt an e Bericht fir si gëtt. kann eng Zäit laang daueren fir Projete mat ville Dateien an Dausende vu Codelinnen.

D'Syntax ass wéi follegt:

$ cloc --by-file <directory>

Wärend d'Hëllef vu Cloc liicht liesbar a verständlech ass, wäert ech e puer vun den extra Optiounen enthalen, déi mat Cloc benotzt kënne ginn, déi e puer Benotzer nëtzlech fannen.

  • --diff - berechent d'Differenzen am Code tëscht de Quelldateien vu set1 a set2. Den Input kann eng Mëschung vu Fichieren a Verzeichnisser sinn.
  • --git - zwéngt d'Inputen als Git-Ziler unerkannt ze ginn, wann déiselwecht net als éischt als Datei- oder Verzeichnisnimm identifizéiert ginn.
  • --ignore-whitespace – ignoréiert den horizontalen Whitespace wann Dir Dateien mat --diff vergläicht.
  • --max-file-size= – wann Dir Dateien méi grouss wéi de gegebene Betrag MB wëllt iwwersprangen.
  • --exclude-dir=, – gitt kommagetrennte Verzeichnisser aus.
  • --exclude-ext=, – déi gegebene Dateierweiterungen ausgeschloss.
  • --csv – Export Resultater an CSV Dateiformat.
  • --csv-delimiter= – benotzt de Charakter als Ofgrenzer.
  • --out= – späichert d'Resultater op .
  • --roueg – dréckt all Informatiounsmessage of a weist nëmmen de Schlussbericht.
  • --sql= - Schreift d'Resultater als Erstellt a setzt Aussoen un déi vun engem Datebankprogramm wéi SQLite gelies kënne ginn.

Cloc ass e bëssen nëtzlech Utility dat definitiv gutt ass an Ärem Arsenal ze hunn. Och wann et vläicht net alldeeglech benotzt gëtt, kann et Iech hëllefen wann Dir e Bericht generéiere musst oder wann Dir just virwëtzeg sidd wéi Äre Projet leeft.