標籤:style class blog code java http
前言
有的時候有這些需求:
1. 統計一個檔案的行數
2. 統計一個原始碼的有效行數。排除空行和注釋行
3. 統一一個目錄下各種檔案的數量和行數
要達成這些需求,很多語言多可以做到, 但是使用Perl 應該是一個不錯的選擇
讀取檔案行數
讀取一個檔案的總行數(空行和注釋都包含) 使用Perl 很簡單
open(FILE ,<>); my $lines_counter = 0; while(<>){$lines_counter += 1; }print "lines: $lines_counter\n";
當然,如果在linux 下就更簡單了, 只需要敲入以下命令就可以了:
wc -l filename
源碼程式碼數(空格數)
統計一個源碼檔案的程式碼數:傳入參數: 檔案的路徑返回: 三個元素的數組; 分別是總行數, 空行行數 和注釋行數注意: 這段代碼目前基本使用於 Java, C, C++; 因為這裡注釋部分處理的是以下三種:
1. // 行注釋
2. 塊注釋
/*
*
*/
3.檔案注釋
/**
*
*/
完整代碼:
原始碼行數統計工具 (Perl 版本)
1. Code Line Counter
這個是一個收費的軟體,
也有免費版,但有限制, 一次只能統計 10 份檔案。
:
http://codelinecounter.bistonesoft.com/clcperl.htm
下載之後進行安裝
運行之後的介面如下:
2. CLOC
這個應該是使用的比較多的工具了。
它可以統計一個路徑下各種類型檔案的數量, 總的空格,代碼,注釋的數量。 它也可以統計一個壓縮包裡面的檔案的狀況
項目的介紹路徑:
http://cloc.sourceforge.net/index.html#Basic_Use
下載路徑是:
http://sourceforge.net/projects/cloc/files/cloc/v1.60/
這裡提供 Perl 的源碼以及打包後的exe 檔案。
作為工具來說, 下載 .exe 檔。 目前最新版的檔案名稱是 cloc-1.60.exe
使用方式就是在命令列模式上, 輸入:
cloc-1.60.exe 檔案路徑或者壓縮包名
輸出的結果類似: