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.