cloc - Ka Awọn ila ti koodu ni Ọpọlọpọ Awọn Ede siseto


Lakoko ti o n ṣiṣẹ lori awọn iṣẹ oriṣiriṣi, nigbami o le nilo ki o pese ijabọ kan tabi awọn iṣiro ti ilọsiwaju rẹ, tabi ni irọrun lati ṣe iṣiro iye koodu rẹ.

Ọpa ti o rọrun kan sibẹsibẹ ti o lagbara ti a pe ni\"cloc - ka awọn ila ti koodu” wa ti o fun laaye laaye lati ka gbogbo nọmba ti koodu rẹ ki o ṣe iyasọtọ awọn asọye ati awọn ila laini ni akoko kanna.

O wa ni gbogbo awọn pinpin kaakiri Linux pataki ati atilẹyin awọn ede siseto ọpọ ati awọn amugbooro faili ati pe ko ni eyikeyi awọn ibeere kan pato lati ṣee lo.

Ninu ẹkọ yii iwọ yoo kọ bi o ṣe le fi sori ẹrọ ati lilo cloc lori ẹrọ Linux rẹ.

Bii o ṣe le Fi sii ati Lo Ẹrọ ni Awọn Ẹrọ Lainos

Fifi cloc sori ẹrọ rọrun ati rọrun. Ni isalẹ o le wo bii o ṣe le fi sori ẹrọ cloc ni awọn ọna ṣiṣe oriṣiriṣi pẹlu awọn alakoso package ti o jọmọ:

$ 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

A le lo Cloc lati ka awọn ila ni faili ni pato tabi ni awọn faili pupọ laarin itọsọna. Lati lo klokuku tẹ iru klọk atẹle pẹlu faili tabi itọsọna eyiti o fẹ lati ṣayẹwo.

Eyi ni apẹẹrẹ lati faili kan ninu bash. Faili ti o ni ibeere ni koodu atẹle ni bash:

$ cat bash_script.sh

Bayi jẹ ki o ṣiṣẹ cloc lori rẹ.

$ cloc bash_script.sh

Bi o ṣe le rii pe o ka nọmba awọn faili, awọn ila laini, awọn asọye ati awọn ila ti koodu.

Ẹya itura miiran ti cloc ni pe o le ṣee lo paapaa lori awọn faili fisinuirindigbindigbin. Fun apẹẹrẹ, Mo ti ṣe igbasilẹ iwe-akọọlẹ Wodupiresi tuntun ati ṣiṣere cloc lori rẹ.

$ cloc latest.tar.gz

Eyi ni abajade:

O le rii pe o mọ awọn oriṣi awọn koodu ati ya awọn iṣiro fun ede kan.

Ni ọran ti o nilo lati gba ijabọ fun awọn faili pupọ ninu itọsọna kan o le lo aṣayan \"- nipasẹ-faili" , ti yoo ka awọn ila inu faili kọọkan ki o pese iroyin fun wọn. Eyi le gba igba diẹ fun awọn iṣẹ akanṣe pẹlu ọpọlọpọ awọn faili ati ẹgbẹẹgbẹrun awọn ila ti koodu.

Ilana naa jẹ atẹle:

$ cloc --by-file <directory>

Lakoko ti iranlọwọ ti cloc jẹ irọrun ni irọrun ati oye, Emi yoo pẹlu diẹ ninu awọn aṣayan afikun ti o le ṣee lo pẹlu cloc diẹ ninu awọn olumulo le rii iwulo.

  • --diff - ṣe iṣiro awọn iyatọ ninu koodu laarin awọn faili orisun ti set1 ati set2. Iṣagbewọle le jẹ apopọ awọn faili ati awọn ilana.
  • --git - fi agbara mu awọn igbewọle lati ṣe akiyesi bi awọn ibi-afẹde git ti wọn ko ba ṣe idanimọ akọkọ bi faili tabi awọn orukọ itọsọna.
  • --ignore-whiteites - kọju si aaye funfun petele nigbati o ba ṣe afiwe awọn faili pẹlu --diff .
  • --max-file-size= - ti o ba fẹ foju awọn faili ti o tobi ju iye ti a fun lọ. MB.
  • --exclude-dir=, - fi awọn ilana iyasọtọ ti a fifun silẹ ti a fifun silẹ.
  • --exclude-ext=, - ṣe iyasọtọ awọn amugbooro faili ti a fun.
  • --csv - awọn abajade okeere si ọna kika faili CSV.
  • --csv-delimiter= - lo ohun kikọ bi opin.
  • --out= - fi awọn abajade pamọ si <file>.
  • --akute - tẹ gbogbo awọn ifiranṣẹ alaye mọlẹ ki o ṣe afihan ijabọ ikẹhin nikan.
  • --sql= - kọ awọn abajade bi ṣẹda ati fi sii awọn alaye ti o le ka nipasẹ eto data bi SQLite.

Cloc jẹ iwulo iwulo kekere ti o jẹ dajudaju o dara lati ni ninu ohun-ija rẹ. Lakoko ti o le ma ṣee lo lojoojumọ, o le ṣe iranlọwọ fun ọ nigbati o ni lati ṣe agbejade ijabọ kan tabi ti o ba jẹ iyanilenu nikan bawo ni iṣẹ rẹ ṣe n lọ.