程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 源碼統計器1.1版

源碼統計器1.1版

編輯:關於C++

1.1版更新介紹

歲月如梭,光陰似箭,想不到離上次1.0版推出已有1年多時間^-^。在《源碼統計器》推出的這一年內,許多朋友給我來信,指出其中的不足,並有許多很好的建議和鼓勵,特別要感謝如下幾位:Johnson Jiang、zhangxiao、jp.xie、佟曉藝、徐雷、xwing、司徒達擎、ltzhou、Hunter、birdie。

由於過去的一年多時間內工作很忙,而且我目前從事的已不再是軟件開發類的工作,因此一直無暇更新。今年春節假期終於得到幾天空閒,能夠將自己以往的思路重新整理一下,對《源碼統計器》做一些更新工作。由於更新不大,因此只升級為1.1版。

主要更新的地方有:

1、原版本統計如下代碼時出錯/*……*/……/*……由於我原先沒考慮到同一行內有兩個地方注釋,並且從該行開始進入注釋語句(/*)。還有如下語句也統計錯誤:/*/
1
//*/

可能是對類似於/*/的情況處理不當。如下語句統計也有問題

CString str = "abc\
//de";

char c = ''\"'';
char[255] s = "abc\"edf\
//edf";

因為未考慮到字符串換行的情況。另外,1.0版對rc文件統計也不正確。我對統計算法進行了徹底改寫,以上錯誤均已更正。

2、增加了"設置"按鈕,使用戶可以自己設置統計方法。就是當代碼和注釋語句處於同一行時,作何處理。1.0版本是作為代碼行計數,但有網友反映有時需要分開計數。因此新版本增加了這項功能,用戶可以根據需要自己設置成:

①只作為代碼行處理;

②代碼行和注釋行各增加一行

③只作為注釋行處理;

按第一種方式和第三種方式統計,代碼行+注釋行+空白行一定等於總行數,而第二種方式統計代碼行+注釋行+空白行大於總行數,兩者之差就是既有代碼又有注釋符的行數。《源碼統計器》缺省設置為第二種統計方法。

"設置"對話框中用戶還可以設置日志文件的路徑,這個文件我主要是用來記錄統計中可能出現的錯誤。目前能記錄cpp文件中字符串換行但沒有用\結尾的問題。

3、增加了將統計結果保存為Excel文件的功能。

4、增加了動態圖標。

5、其他還做了一些小改動,不再一一說明。

新軟件的界面為:

1.1版的《源碼統計器》也如原版本一樣,源代碼完全開放。若你需要,可來信索取,我的Email是:[email protected]。你也可以到我的個人主頁下載(http://xiaogi.nease.net)。

軟件介紹

在工作中,我們經常碰到客戶要求我們告之所寫程序的行數,包括代碼行、注釋行和空白行等。這一軟件就是為這一目的編寫的。最先是用於對我自己寫的C/C++,VC++程序進行行數統計。它可以准確快速地統計出源代碼中的各種行數。後來經過不斷改進,增加了對VB, Java, ASP,JSP和SQL等程序的源代碼的統計,使得軟件的應用范圍更加廣泛。網絡上也有不少類似統計行數的軟件,但到目前為止,我發現“源碼統計器1.1版”統計速度是最快的,而且相比較發現更加准確,考慮到了源代碼中可能出現的許多特殊情況。

軟件優點

准確無誤。這當然是任何一款源代碼統計工具所必需具備的功能。為此,我自建了一個測試用的cpp文件(test.cpp),在其中我設計了多個遵循c++的注釋方式,但又很容易導致統計錯誤的"陷阱"。雖然有些注釋語句看起來有點奇怪,但的確合理並且真實存在。統計該測試文件時即使出現1行的統計誤差也是不允許的,否則在統計某個恰好用該種方式注釋的程序時誤差就可能很大。經測試,“源碼統計器1.1版”能准確無誤地統計出test.cpp的各種代碼行數。

更加快速。由於算法選取和文件處理得當,“源碼統計器1.1版”的統計速度相當迅速。

界面友好,易於上手。"源碼統計器1.1版"界面說明清楚,相信任何人都能輕松上手。本軟件無需安裝,解壓縮後可直接運行。

功能豐富,智能統計。本軟件可以統計多種源碼,包括C/C+、VC++、VB、Java、ASP、Perl、Shell和TXT文件。可以將統計結果匯總保存為文本文件或csv文件,其中csv文件可被絕大部分統計軟件識別(包括微軟Office系列的Excel),方便今後進一步整理統計源碼。“源碼統計器1.1版”還可以根據用戶輸入的文件擴展名自動調用相應的統計方法。

源代碼公開,方便用戶根據自己的需要進行修改,添加對特殊文件的統計。添加方法概述如下:假設你要添加對擴展名為"*.my"的文件統計。首先,在CountingDlg.h中定義宏:#define TYPE_MY 16然後在CCountingDlg::OnInitDialog()中添加該類型到m_structExtention結構體:m_structExtention.arrayType.Add("my");
m_structExtention.nType[0] = TYPE_MY;
再在IsSearchingFor(CString strFileName)中添加判斷,使得當strFileName為my類型時返回TRUE。在類CCountingDlg中添加函數GetMyFileLines(),具體統計算法請在該函數內自己實現。最後在CountThread線程中加入判斷,如果文件類型為TYPE_MY,則調用函數GetMyFileLines ( )進行統計。具體操作可參考源代碼相應的處理。

軟件所使用的資源絕大部分位於資源文件中,便於用戶更改其語言版本以用在其它語言的操作系統上。(這也是本軟件下一版本要追加的一個功能:自動識別操作系統語言並載入相應的資源包)

使用方法

在“文件名或文件類型”組合框中輸入你需要進行統計的文件類型(如:*.cpp;*.c;*.h)。擴展名之間用;,:分隔,;,:前後有空格亦無妨,軟件會自動忽略。你也可以直接輸入需要統計的文件名(如:counting.cpp; setting.c; resource.h)。同樣的,文件名之間也用;,:分隔。點擊下拉框可以選擇軟件缺省為你提供的幾種文件類型,點擊右邊的按鈕可以手動指定需要進行統計的文件(可多選,並且軟件自動將選中文件的所在目錄放入"搜索文件夾"組合框中)。

在“搜索文件夾”組合框中輸入你需要進行統計的文件所在的文件夾(如: d:\study),點擊下拉框可以選擇近幾次進行統計的文件夾。如果你手動輸入的文件夾不在下拉框中,軟件在統計開始後自動將該文件夾加入。點擊右邊的按鈕可以選擇文件夾。

你可以選擇統計時是否也需要統計子文件夾中的相關文件。

點擊"統計"按鈕開始,再次點擊該按鈕停止統計。

若你需要保存統計結果,請點擊"保存"按鈕。你可以選擇以文本文件、Excel文件或csv文件三種格式保存。其中csv文件可被幾乎所有的統計軟件識別,包括微軟Office系列的Excel。

在列表控件中雙擊文件名可打開該文件。

軟件可穩定地運行於MS Windows系列操作系統上。 作者聲明

本軟件為自由軟件,源代碼完全公開。你可以來信索要並不受限制地利用,但務請保留作者的版權信息。若你覺得本軟件對你有幫助或你需要將其中部分的代碼用到自己的軟件中,請給作者來信告知。如果你對本軟件有好的建議或bug發現,也請來信告知。本軟件將不斷更新升級,最新版本請到我的個人主頁下載。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved