cloc - Köp programmirleme dillerinde kod setirlerini sanamak


Dürli taslamalaryň üstünde işleýän wagtyňyz, käwagt hasabatyňyz ýa-da ösüşiňiziň statistikasy ýa-da koduňyzyň bahasyny hasaplamak talap edilip bilner.

Koduňyzyň ähli sanyny sanamaga we şol bir wagtyň özünde teswirleri we boş setirleri aýyrmaga mümkinçilik berýän\cloc - kod setirlerini sanamak atly ýönekeý, ýöne güýçli gural bar.

Linuxhli esasy Linux paýlamalarynda bar we birnäçe programmirleme dillerini we faýl giňeltmelerini goldaýar we ulanyljak aýratyn talaplar ýok.

Bu gollanmada Linux ulgamyňyzda cloc-y nädip gurmalydygyny we ulanmalydygyny öwrenersiňiz.

Linux ulgamlarynda Cloc-y nädip gurmaly we ulanmaly

Klok gurmak aňsat we ýönekeý. Aşakda degişli paket dolandyryjylary bilen dürli operasiýa ulgamlarynda kloc nädip gurmalydygyny görüp bilersiňiz:

$ 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 belli bir faýlda ýa-da katalogdaky birnäçe faýlda setirleri sanamak üçin ulanylyp bilner. “Cloc” -y ulanmak üçin gözden geçirmek isleýän faýlyňyz ýa-da katalogyňyz bilen “cloc” ýazyň.

Ine, başdaky bir faýldan mysal. Soralýan faýlda başdaky aşakdaky kod bar:

$ cat bash_script.sh

Indi onuň üstünde işlemeli.

$ cloc bash_script.sh

Görşüňiz ýaly, faýllaryň sanyny, boş setirleri, teswirleri we kod setirlerini sanady.

“Cloc” -yň başga bir ajaýyp aýratynlygy, hatda gysylan faýllarda hem ulanylyp bilner. Mysal üçin, iň soňky WordPress arhiwini göçürip aldym we üstünde işledim.

$ cloc latest.tar.gz

Netije:

Kodyň dürli görnüşlerini ykrar edýändigini we her dilde statistikany bölýändigini görüp bilersiňiz.

Katalogda birnäçe faýl üçin hasabat almaly bolsaňyz, her faýldaky setirleri sanap, olar üçin hasabat berýän \- by-file opsiýasyny ulanyp bilersiňiz. köp faýlly we müňlerçe setir kodly taslamalar üçin biraz wagt alyp biler.

Sintaksis aşakdaky ýaly:

$ cloc --by-file <directory>

“Cloc” -yň kömegi aňsatlyk bilen okalýan we düşnükli bolsa-da, käbir ulanyjylaryň peýdaly bolup biläýjek klok bilen ulanyp boljak goşmaça wariantlaryny goşaryn.

  • --diff - set1 bilen set2-iň deslapky faýllarynyň arasyndaky kod tapawudyny hasaplaýar. Giriş faýllaryň we kataloglaryň garyndysy bolup biler.
  • --git - girişleri faýl ýa-da katalog atlary hökmünde kesgitlenmese girişleri git nyşany hökmünde ykrar etmäge mejbur edýär.
  • --ignore-whitespace - faýllary --diff bilen deňeşdireniňde gorizontal giňişlige ähmiýet bermeýär.
  • --max-file-size= - berlen mukdardan has uly faýllary geçmek isleseňiz.
  • --exclude-dir=, - berlen vergul bilen bölünen kataloglary aýyryň.
  • --exclude-ext=, - berlen faýl giňeltmelerini aýyryň.
  • --csv - netijeleri CSV faýl formatyna eksport ediň.
  • --csv-delimiter= - delimiter hökmünde nyşanyny ulanyň.
  • --out= - netijeleri <file> ýazdyryň.
  • --quiet - ähli maglumat habarlaryny basyp, diňe soňky hasabaty görkeziň.
  • --sql= - SQLite ýaly maglumat bazasy programmasy tarapyndan okalýan jümleleri döretmek we goýmak ýaly netijeleri ýazyň.

“Cloc” biraz peýdaly peýdaly zat, arsenalyňyzda bolmagy hökman gowy. Her gün ulanylmasa-da, käbir hasabat taýýarlamaly bolanyňyzda ýa-da taslamaňyzyň nähili gidýändigi bilen gyzyklanýan bolsaňyz, size kömek edip biler.