Zoeken op website

cloc - Tel regels code in veel programmeertalen


Terwijl u aan verschillende projecten werkt, wordt u soms gevraagd een rapport of statistieken over uw voortgang te verstrekken, of eenvoudigweg de waarde van uw code te berekenen.

Er is een eenvoudige maar krachtige tool genaamd “cloc – tel coderegels” waarmee u het hele nummer van uw code kunt tellen en tegelijkertijd opmerkingen en lege regels kunt uitsluiten.

Het is beschikbaar in alle grote Linux-distributies en ondersteunt meerdere programmeertalen en bestandsextensies. Er zijn geen specifieke vereisten voor het gebruik ervan.

In deze tutorial leer je hoe je cloc op je Linux-systeem installeert en gebruikt.

Hoe Cloc te installeren en te gebruiken in Linux-systemen

Het installeren van cloc is eenvoudig en eenvoudig. Hieronder kunt u zien hoe u cloc in verschillende besturingssystemen installeert met de bijbehorende pakketbeheerders:

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 kan worden gebruikt om regels in een bepaald bestand of in meerdere bestanden binnen een map te tellen. Om cloc te gebruiken typt u simpelweg cloc gevolgd door het bestand of de map die u wilt onderzoeken.

Hier is een voorbeeld uit een bestand in bash. Het betreffende bestand bevat de volgende code in bash:

cat bash_script.sh

Laten we er nu Cloc op uitvoeren.

cloc bash_script.sh

Zoals je kunt zien, telde het het aantal bestanden, lege regels, opmerkingen en coderegels.

Een andere leuke functie van cloc is dat het zelfs op gecomprimeerde bestanden kan worden gebruikt. Ik heb bijvoorbeeld het nieuwste WordPress-archief gedownload en daarop cloc uitgevoerd.

cloc latest.tar.gz

Hier is het resultaat:

Je kunt zien dat het de verschillende soorten code herkent en de statistieken per taal scheidt.

Als u een rapport nodig heeft voor meerdere bestanden in een map, kunt u de optie “--by-file ” gebruiken, die de regels in elk bestand telt en er een rapport voor levert. Dit kan enige tijd duren voor projecten met veel bestanden en duizenden regels code.

De syntaxis is als volgt:

cloc --by-file <directory>

Hoewel de hulp van cloc gemakkelijk leesbaar en begrijpelijk is, zal ik enkele van de extra opties toevoegen die gebruikt kunnen worden met cloc die sommige gebruikers misschien nuttig vinden.

  • --diff – berekent de verschillen in code tussen de bronbestanden van set1 en set2. De invoer kan een mix van bestanden en mappen zijn.
  • --git – dwingt de invoer te herkennen als git-doelen als deze niet eerst worden geïdentificeerd als bestands- of mapnamen.
  • --ignore-whitespace – negeert de horizontale witruimte bij het vergelijken van bestanden met --diff.
  • --max-file-size= – als u bestanden wilt overslaan die groter zijn dan de opgegeven hoeveelheid MB.
  • --exclude-dir=, – sluit bepaalde door komma's gescheiden mappen uit.
  • --exclude-ext=, – sluit de opgegeven bestandsextensies uit.
  • --csv – exporteer resultaten naar CSV-bestandsformaat.
  • --csv-delimiter= – gebruik het teken als scheidingsteken.
  • --out= – sla de resultaten op in <file>.
  • --stil – onderdruk alle informatieberichten en toon alleen het eindrapport.
  • --sql= – schrijf de resultaten als create- en insert-instructies die kunnen worden gelezen door een databaseprogramma zoals SQLite.
Conclusie

Cloc is een klein handig hulpprogramma dat zeker goed is om in je arsenaal te hebben. Hoewel het misschien niet dagelijks wordt gebruikt, kan het u helpen als u een rapport moet genereren of als u gewoon nieuwsgierig bent hoe het met uw project gaat.