cloc - Għadd tal-Linji tal-Kodiċi f'ħafna Lingwi ta' Programmazzjoni


Waqt li tkun qed taħdem fuq proġetti differenti, xi drabi tista' tkun mitlub li tipprovdi rapport jew statistika tal-progress tiegħek, jew sempliċiment biex tikkalkula l-valur tal-kodiċi tiegħek.

Hemm din l-għodda sempliċi iżda qawwija msejħa \cloc – għadd linji tal-kodiċi li tippermettilek tgħodd in-numru kollu tal-kodiċi tiegħek u teskludi l-kummenti u l-linji vojta fl-istess ħin.

Huwa disponibbli fid-distribuzzjonijiet ewlenin kollha tal-Linux u jappoġġja lingwi ta' programmar multipli u estensjonijiet ta' fajls u m'għandux rekwiżiti speċifiċi biex jintuża.

F'dan it-tutorja inti ser titgħallem kif tinstalla u tuża cloc fis-sistema Linux tiegħek.

Kif tinstalla u tuża Cloc fis-Sistemi Linux

L-installazzjoni ta 'cloc hija faċli u sempliċi. Hawn taħt tista 'tara kif tinstalla cloc f'sistemi operattivi differenti mal-maniġers tal-pakketti relatati tagħhom:

$ 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 jista 'jintuża biex jingħaddu linji f'fajl partikolari jew f'fajls multipli fid-direttorju. Biex tuża cloc sempliċement ittajpja cloc segwit mill-fajl jew direttorju li tixtieq teżamina.

Hawn eżempju minn fajl f'bash. Il-fajl inkwistjoni fih il-kodiċi li ġej f'bash:

$ cat bash_script.sh

Issa ejja run cloc fuqha.

$ cloc bash_script.sh

Kif tistgħu taraw għadd in-numru ta 'fajls, linji vojta, kummenti u linji ta' kodiċi.

Karatteristika oħra jibred ta 'cloc hija li tista' saħansitra tintuża fuq fajls kompressati. Per eżempju, niżżilt l-aħħar arkivju ta 'WordPress u għamilt cloc fuqu.

$ cloc latest.tar.gz

Hawn hu r-riżultat:

Tista 'tara li tirrikonoxxi t-tipi differenti ta' kodiċi u tissepara l-istatistiċi għal kull lingwa.

F'każ li jkollok bżonn tikseb rapport għal fajls multipli f'direttorju tista' tuża l-għażla \--by-file”, li tgħodd il-linji f'kull fajl u tipprovdi rapport għalihom. jista' jieħu ftit żmien għal proġetti b'ħafna fajls u eluf ta' linji ta' kodiċi.

Is-sintassi hija kif ġej:

$ cloc --by-file <directory>

Filwaqt li l-għajnuna ta 'cloc tinqara u tinftiehem faċilment, se ninkludi xi wħud mill-għażliet żejda li jistgħu jintużaw ma' cloc xi utenti jistgħu jsibu utli.

  • --diff – tikkalkula d-differenzi fil-kodiċi bejn il-fajls tas-sors ta’ set1 u set2. L-input jista' jkun taħlita ta' fajls u direttorji.
  • --git – iġiegħel lill-inputs jiġu rikonoxxuti bħala miri git jekk l-istess ma jiġux identifikati l-ewwel bħala ismijiet ta’ fajls jew direttorji.
  • --ignore-whitespace – jinjora l-ispazju abjad orizzontali meta jqabbel fajls ma' --diff.
  • --max-file-size= – jekk trid taqbeż fajls akbar mill-ammont mogħti MB.
  • --exclude-dir=, – teskludi direttorji separati bil-virgola.
  • --exclude-ext=, – teskludi l-estensjonijiet tal-fajls mogħtija.
  • --csv – jesporta r-riżultati f'format ta' fajl CSV.
  • --csv-delimiter= – uża l-karattru bħala d-delimitatur.
  • --out= – issalva r-riżultati f'<file>.
  • --kwiet – trażżan il-messaġġi kollha ta' informazzjoni u uri biss ir-rapport finali.
  • --sql= – ikteb ir-riżultati bħala oħloq u daħħal dikjarazzjonijiet li jistgħu jinqraw minn programm tad-database bħal SQLite.

Cloc huwa ftit utilità utli li żgur huwa tajjeb li jkollok fl-armament tiegħek. Filwaqt li jista 'ma jintużax fuq bażi ta' kuljum, jista 'jgħinek meta jkollok tiġġenera xi rapport jew jekk inti biss kurjuż kif sejjer il-proġett tiegħek.