新聞中心
作為一個(gè)開(kāi)發(fā)人員,你可能需要不時(shí)地向你的領(lǐng)導(dǎo)或者同事分享你目前的工作與代碼開(kāi)發(fā)進(jìn)展,抑或你的領(lǐng)導(dǎo)想對(duì)代碼進(jìn)行全方位的分析。這時(shí),你就需要用到一些代碼統(tǒng)計(jì)的工具,我知道其中一個(gè)是Ohcount。今天,我遇到了另一個(gè)程序,cloc。你可以用 cloc 很容易地統(tǒng)計(jì)多種語(yǔ)言的源代碼行數(shù)。它還可以計(jì)算空行數(shù)、代碼行數(shù)、實(shí)際代碼的行數(shù),并通過(guò)整齊的表格進(jìn)行結(jié)果輸出。cloc 是自由開(kāi)源的跨平臺(tái)程序,使用Perl進(jìn)行開(kāi)發(fā)。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到巍山網(wǎng)站設(shè)計(jì)與巍山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋巍山地區(qū)。
特點(diǎn)
cloc 有很多優(yōu)勢(shì):
- 安裝方便而且易用,不需要額外的依賴項(xiàng)
- 可移植
- 支持多種的結(jié)果格式導(dǎo)出,包括:純文本、SQL、JSON、XML、YAML、CSV
- 可以計(jì)算 git 的提交數(shù)
- 可遞歸計(jì)算文件夾內(nèi)的代碼行數(shù)
- 可計(jì)算壓縮后的文件,如:tar、zip、Java 的 .ear 等類型
- 開(kāi)源,跨平臺(tái)
安裝
cloc 的安裝包在大多數(shù)的類 Unix 操作系統(tǒng)的默認(rèn)軟件庫(kù)內(nèi),所以你只需要使用默認(rèn)的包管理器安裝即可。
Arch Linux:
$ sudo pacman -S cloc
Debian/Ubuntu:
$ sudo apt-get install cloc
CentOS/Red Hat/Scientific Linux:
$ sudo yum install cloc
Fedora:
$ sudo dnf install cloc
FreeBSD:
$ sudo pkg install cloc
當(dāng)然你也可以使用第三方的包管理器,比如NPM。
$ npm install -g cloc
統(tǒng)計(jì)多種語(yǔ)言代碼數(shù)據(jù)的使用舉例
首先來(lái)幾個(gè)簡(jiǎn)單的例子,比如下面在我目前工作目錄中的的 C 代碼。
$ cat hello.c#includeint main(){// printf() displays the string inside quotationprintf("Hello, World!");return 0;}
想要計(jì)算行數(shù),只需要簡(jiǎn)單運(yùn)行:
$ cloc hello.c
輸出:
***列是被分析文件的編程語(yǔ)言,上面我們可以看到這個(gè)文件是用 C 語(yǔ)言編寫的。
第二列顯示的是該種語(yǔ)言有多少文件,圖中說(shuō)明只有一個(gè)。
第三列顯示空行的數(shù)量,圖中顯示是 0 行。
第四列顯示注釋的行數(shù)。
第五列顯示該文件中實(shí)際的代碼總行數(shù)。
這是一個(gè)有只有 6 行代碼的源文件,我們看到統(tǒng)計(jì)的還算準(zhǔn)確,那么如果用來(lái)統(tǒng)計(jì)一個(gè)行數(shù)較多的源文件呢?
$ cloc file.tar.gz
輸出:
上述輸出結(jié)果如果手動(dòng)統(tǒng)計(jì)準(zhǔn)確的代碼行數(shù)非常困難,但是 cloc 只需要幾秒,而且以易讀的表格格式顯示結(jié)果。你還可以在***查看每個(gè)部分的總計(jì),這在分析程序的源代碼時(shí)非常方便。
除了源代碼文件,cloc 還能遞歸計(jì)算各個(gè)目錄及其子目錄下的文件、壓縮包、甚至 git commit 數(shù)目等。
文件夾中使用的例子:
$ cloc dir/
子文件夾中使用的例子*:
$ cloc dir/cloc/tests
計(jì)算一個(gè)壓縮包中源代碼的行數(shù):
$ cloc archive.zip
你還可以計(jì)算一個(gè) git 項(xiàng)目,也可以像下面這樣針對(duì)某次提交時(shí)的狀態(tài)統(tǒng)計(jì):
$ git clone https://github.com/AlDanial/cloc.git$ cd cloc$ cloc 157d706
cloc 可以自動(dòng)識(shí)別一些語(yǔ)言,使用下面的命令查看 cloc 支持的語(yǔ)言:
$ cloc --show-lang
更新信息請(qǐng)查閱 cloc 的使用幫助。
$ cloc --help
開(kāi)始使用吧!
本文標(biāo)題:cloc:計(jì)算不同編程語(yǔ)言源代碼的行數(shù)
URL鏈接:http://www.5511xx.com/article/cocehsj.html


咨詢
建站咨詢
