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

站在用戶的角度思考問題,與客戶深入溝通,找到巍山網(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)站推廣、域名注冊、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋巍山地區(qū)。
特點(diǎn)
cloc 有很多優(yōu)勢:
- 安裝方便而且易用,不需要額外的依賴項(xiàng)
- 可移植
- 支持多種的結(jié)果格式導(dǎo)出,包括:純文本、SQL、JSON、XML、YAML、CSV
- 可以計(jì)算 git 的提交數(shù)
- 可遞歸計(jì)算文件夾內(nèi)的代碼行數(shù)
- 可計(jì)算壓縮后的文件,如:tar、zip、Java 的 .ear 等類型
- 開源,跨平臺(tái)
安裝
cloc 的安裝包在大多數(shù)的類 Unix 操作系統(tǒng)的默認(rèn)軟件庫內(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ì)多種語言代碼數(shù)據(jù)的使用舉例
首先來幾個(gè)簡單的例子,比如下面在我目前工作目錄中的的 C 代碼。
$ cat hello.c#includeint main(){// printf() displays the string inside quotationprintf("Hello, World!");return 0;}
想要計(jì)算行數(shù),只需要簡單運(yùn)行:
$ cloc hello.c
輸出:
***列是被分析文件的編程語言,上面我們可以看到這個(gè)文件是用 C 語言編寫的。
第二列顯示的是該種語言有多少文件,圖中說明只有一個(gè)。
第三列顯示空行的數(shù)量,圖中顯示是 0 行。
第四列顯示注釋的行數(shù)。
第五列顯示該文件中實(shí)際的代碼總行數(shù)。
這是一個(gè)有只有 6 行代碼的源文件,我們看到統(tǒng)計(jì)的還算準(zhǔn)確,那么如果用來統(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)目,也可以像下面這樣針對某次提交時(shí)的狀態(tài)統(tǒng)計(jì):
$ git clone https://github.com/AlDanial/cloc.git$ cd cloc$ cloc 157d706
cloc 可以自動(dòng)識別一些語言,使用下面的命令查看 cloc 支持的語言:
$ cloc --show-lang
更新信息請查閱 cloc 的使用幫助。
$ cloc --help
開始使用吧!
當(dāng)前文章:cloc:計(jì)算不同編程語言源代碼的行數(shù)
本文URL:http://fisionsoft.com.cn/article/cocehsj.html


咨詢
建站咨詢
