Weboldal keresés

cloc - Kódsorok számlálása számos programozási nyelven


Amikor különböző projekteken dolgozik, előfordulhat, hogy jelentést vagy statisztikákat kell készítenie az előrehaladásról, vagy egyszerűen csak ki kell számítania a kód értékét.

Létezik ez az egyszerű, de hatékony „cloc – kódsorok számlálása” nevű eszköz, amely lehetővé teszi a kód teljes számának megszámlálását, valamint a megjegyzések és az üres sorok egyidejű kizárását.

Az összes főbb Linux disztribúcióban elérhető, és több programozási nyelvet és fájlkiterjesztést is támogat, és nincs semmilyen különleges követelmény a használatához.

Ebből az oktatóanyagból megtudhatja, hogyan kell telepíteni és használni a cloc programot Linux rendszerén.

A Cloc telepítése és használata Linux rendszerekben

A cloc telepítése könnyű és egyszerű. Az alábbiakban láthatja, hogyan telepítheti a Cloc-ot különböző operációs rendszerekben a kapcsolódó csomagkezelőkkel:

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 Cloc használható sorok számlálására egy adott fájlban vagy több fájlban a könyvtáron belül. A cloc használatához egyszerűen írja be a cloc kifejezést, majd írja be a vizsgálni kívánt fájlt vagy könyvtárat.

Íme egy példa egy bash-beli fájlból. A kérdéses fájl a következő kódot tartalmazza bash-ban:

cat bash_script.sh

Most pedig fussunk rá.

cloc bash_script.sh

Amint láthatja, megszámolta a fájlok számát, az üres sorokat, a megjegyzéseket és a kódsorokat.

A cloc másik nagyszerű tulajdonsága, hogy akár tömörített fájlokon is használható. Letöltöttem például a legújabb WordPress archívumot, és futtattam rajta a cloc programot.

cloc latest.tar.gz

Íme az eredmény:

Látható, hogy felismeri a különböző típusú kódokat, és nyelvenként különíti el a statisztikákat.

Ha több fájlról kell jelentést készítenie egy könyvtárban, használhatja a “--by-file” opciót, amely megszámolja az egyes fájlokban lévő sorokat, és jelentést készít róluk. Ez sok fájlt és több ezer sornyi kódot tartalmazó projekteknél eltarthat egy ideig.

A szintaxis a következő:

cloc --by-file <directory>

Noha a cloc segítsége könnyen olvasható és érthető, beemelek néhány olyan extra lehetőséget, amelyeket a cloc segítségével néhány felhasználó hasznosnak találhat.

  • --diff – kiszámítja a kódbeli különbségeket a set1 és a set2 forrásfájljai között. A bemenet lehet fájlok és könyvtárak keveréke.
  • --git – kényszeríti a bemenetek git-célként történő felismerését, ha azokat először nem fájl- vagy könyvtárnévként azonosítja.
  • --ignore-whitespace – figyelmen kívül hagyja a vízszintes szóközt, amikor a fájlokat a --diff karakterlánccal hasonlítja össze.
  • --max-file-size= – ha a megadott MB-nál nagyobb fájlokat szeretné kihagyni.
  • --exclude-dir=, – adott vesszővel elválasztott könyvtárak kizárása.
  • --exclude-ext=, – kizárja a megadott fájlkiterjesztéseket.
  • --csv – az eredmények exportálása CSV-fájlformátumba.
  • --csv-delimiter= – használja a karaktert elválasztóként.
  • --out= – az eredmények mentése a <file> mappába.
  • --quiet – az összes információs üzenet letiltása és csak a végső jelentés megjelenítése.
  • --sql= – írja az eredményeket létrehozási és beszúrási utasításokként, amelyeket egy adatbázis-program, például az SQLite is be tud olvasni.
Következtetés

A Cloc egy kis hasznos segédprogram, amelyet mindenképpen érdemes az arzenáljában tartani. Bár nem mindennapi használatban van, segíthet, ha jelentést kell készítenie, vagy ha csak kíváncsi, hogyan halad a projekt.