cloc - Tæl kodelinjer på mange programmeringssprog


Mens du arbejder på forskellige projekter, kan du nogle gange blive bedt om at levere en rapport eller statistik over dine fremskridt eller blot beregne værdien af din kode.

Der er dette enkle, men alligevel kraftfulde værktøj kaldet “cloc - count linjer med kode”, der giver dig mulighed for at tælle hele antallet af din kode og ekskludere kommentarer og blanke linjer på samme tid.

Den er tilgængelig i alle større Linux-distributioner og understøtter flere programmeringssprog og filudvidelser og har ingen specifikke krav, der skal bruges.

I denne vejledning vil du lære at installere og bruge cloc på dit Linux-system.

Sådan installeres og bruges Cloc i Linux-systemer

Installation af cloc er let og enkelt. Nedenfor kan du se, hvordan du installerer cloc i forskellige operativsystemer med deres relaterede pakkeforvaltere:

$ 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 bruges til at tælle linjer i en bestemt fil eller i flere filer i biblioteket. For at bruge cloc skal du blot skrive cloc efterfulgt af den fil eller mappe, som du vil undersøge.

Her er et eksempel fra en fil i bash. Den pågældende fil indeholder følgende kode i bash:

$ cat bash_script.sh

Lad os nu køre cloc på det.

$ cloc bash_script.sh

Som du kan se, tælles antallet af filer, tomme linjer, kommentarer og linjer med kode.

Et andet sejt træk ved cloc er, at det endda kan bruges på komprimerede filer. For eksempel har jeg downloadet det nyeste WordPress-arkiv og kørt cloc på det.

$ cloc latest.tar.gz

Her er resultatet:

Du kan se, at den genkender de forskellige typer kode og adskiller statistikken pr. Sprog.

Hvis du har brug for at få en rapport til flere filer i et bibliotek, kan du bruge "--by-file" , der tæller linjerne i hver fil og giver en rapport til dem. Dette kan tage et stykke tid for projekter med mange filer og tusinder af linjer med kode.

Syntaksen er som følger:

$ cloc --by-file <directory>

Mens hjælp fra cloc er let læselig og forståelig, vil jeg medtage nogle af de ekstra muligheder, der kan bruges med cloc, som nogle brugere kan finde nyttige.

  • --diff - beregner forskellene i kode mellem kildefilerne i set1 og set2. Inputet kan være en blanding af filer og mapper.
  • --git - tvinger indgangene til at blive genkendt som git-mål, hvis det samme ikke først identificeres som fil- eller katalognavne.
  • --ignore-whitespace - ignorerer det vandrette hvide område, når du sammenligner filer med --diff .
  • --max-file-size= - hvis du vil springe filer over, der er større end det givne MB.
  • --exclude-dir=, - ekskluder givne komma-adskilte mapper.
  • --exclude-ext=, - ekskluder de givne filtypenavne.
  • --csv - eksportresultater til CSV-filformat.
  • --csv-delimiter= - brug tegnet som afgrænser.
  • --out= - gem resultaterne til <file>.
  • - stille - undertrykker alle informationsmeddelelser og viser kun den endelige rapport.
  • --sql= - skriv resultaterne som oprette og indsætte udsagn, der kan læses af et databaseprogram såsom SQLite.

Cloc er et lille nyttigt værktøj, der bestemt er godt at have i dit arsenal. Selvom det muligvis ikke bruges dagligt, kan det hjælpe dig, når du skal generere en rapport, eller hvis du bare er nysgerrig efter, hvordan dit projekt går.