亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種代碼變化量的統(tǒng)計方法及其裝置與流程

文檔序號:12362765閱讀:355來源:國知局
一種代碼變化量的統(tǒng)計方法及其裝置與流程

本發(fā)明涉及通信技術(shù),尤指一種代碼變化量的統(tǒng)計方法及其裝置。



背景技術(shù):

在軟件研發(fā)工作中,經(jīng)常需要獲取項目版本某個階段內(nèi)每個開發(fā)人員每天的代碼變化量情況、變更類別、變更代碼所屬的模塊、有效代碼量、代碼注釋率以及反應(yīng)代碼質(zhì)量的一些度量指標值,以便查看員工每天的代碼變更趨勢,統(tǒng)計故障泄漏率,評估員工的工作量、效率及代碼質(zhì)量,進而對開發(fā)工作的改進及時提供依據(jù)和參考價值。

通常,軟件研發(fā)中的代碼可以通過并發(fā)版本控制系統(tǒng)(Concurrent Versions System,簡稱CVS)等軟件版本管理工具進行管理。具體的,通過CVS可以統(tǒng)計出整個版本中代碼行數(shù)或有效代碼量或是修改的代碼行數(shù)。

在實施上述現(xiàn)有技術(shù)時,本領(lǐng)域技術(shù)人員發(fā)現(xiàn),通常使用的軟件版本管理工具無法統(tǒng)計每人每個時間段的代碼變化情況。



技術(shù)實現(xiàn)要素:

為了解決上述技術(shù)問題,本發(fā)明提供了一種代碼變化量的統(tǒng)計方法及其裝置,用以解決無法統(tǒng)計每人每個時間段的代碼變化情況的問題。

為了達到本發(fā)明目的,本發(fā)明提供了一種代碼變化量的統(tǒng)計方法,包括:

根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改對應(yīng)的代碼行數(shù);

根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。

進一步的,還包括:

根據(jù)提交日期和責任人,確定前后代碼對比腳本,所述前后代碼對比腳本用以對所述提交日期和所述責任人對應(yīng)的當前代碼,以及前次代碼分別進行規(guī)范性檢測,所述前次代碼包括在獲取所述當前代碼之前的最近一版本的代碼;

根據(jù)所述前后代碼對比腳本,獲得當前代碼檢測結(jié)果和前次代碼檢測結(jié)果,所述當前代碼檢測結(jié)果包括對所述當前代碼進行規(guī)范性檢測的結(jié)果,所述前次代碼檢測結(jié)果包括對所述前次代碼進行規(guī)范性檢測的結(jié)果。

進一步的,還包括:

根據(jù)日期,確定規(guī)范檢測腳本,所述規(guī)范檢測腳本用于對所述日期對應(yīng)的變化的代碼進行檢查;

根據(jù)所述規(guī)范檢測腳本,獲得變化代碼檢測結(jié)果,所述變化代碼檢測結(jié)果包括對所述日期對應(yīng)的變化的代碼進行規(guī)范性檢查的結(jié)果。

進一步的,還包括:

根據(jù)提交日期、責任人以及修改前后的版本號,確定變更代碼比較腳本,所述變更代碼比較腳本用于對修改前后版本號對應(yīng)的代碼進行比較,獲得修改前后版本號對應(yīng)代碼的修改結(jié)果,所述修改前后版本號包括修改代碼或增加代碼的當前版本號,以及獲取所述當前版本號之前的最近一版本的版本號;

根據(jù)所述變更代碼比較腳本,確定修改前后版本號對應(yīng)代碼的修改結(jié)果。

進一步的,所述根據(jù)提交日期和責任人,確定比較處理腳本之前,還包括:

確定版本號區(qū)間和要統(tǒng)計的代碼所在的版本庫路徑;或者

確定時間段和要統(tǒng)計的代碼所在的版本庫路徑。

本發(fā)明還提供了一種代碼變化量的統(tǒng)計裝置,包括:

確定模塊,用于根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改對應(yīng)的代碼行數(shù);

處理模塊,用于根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。

進一步的,所述確定模塊,還用于根據(jù)提交日期和責任人,確定前后代碼對比腳本,所述前后代碼對比腳本用以對所述提交日期和所述責任人對應(yīng)的當前代碼,以及前次代碼分別進行規(guī)范性檢測,所述前次代碼包括在獲取所述當前代碼之前的最近一版本的代碼;

所述處理模塊,還用于根據(jù)所述前后代碼對比腳本,獲得當前代碼檢測結(jié)果和前次代碼檢測結(jié)果,所述當前代碼檢測結(jié)果包括對所述當前代碼進行規(guī)范性檢測的結(jié)果,所述前次代碼檢測結(jié)果包括對所述前次代碼進行規(guī)范性檢測的結(jié)果。

進一步的,所述確定模塊,還用于根據(jù)日期,確定規(guī)范檢測腳本,所述規(guī)范檢測腳本用于對所述日期對應(yīng)的變更的代碼進行檢查;

所述處理模塊,還用于根據(jù)所述規(guī)范檢測腳本,獲得變更代碼檢測結(jié)果,所述變更代碼檢測結(jié)果包括對所述日期對應(yīng)的變更的代碼進行規(guī)范性檢查的結(jié)果。

進一步的,所述確定模塊,還用于根據(jù)提交日期、責任人以及修改前后的版本號,確定變更代碼比較腳本,所述變更代碼比較腳本用于對修改前后版本號對應(yīng)的代碼進行比較,獲得修改前后版本號對應(yīng)代碼的修改結(jié)果,所述修改前后版本號包括修改代碼或增加代碼的當前版本號,以及獲取所述當前版本號之前的最近一版本的版本號;

所述處理模塊,還用于根據(jù)所述變更代碼比較腳本,確定修改前后版本號對應(yīng)代碼的修改結(jié)果。

進一步的,所述確定模塊,還用于確定版本號區(qū)間和要統(tǒng)計的代碼所在 的版本庫路徑;或者

確定時間段和要統(tǒng)計的代碼所在的版本庫路徑。

與現(xiàn)有技術(shù)相比,本發(fā)明包括:根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改總和的代碼行數(shù);根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。實現(xiàn)了對每個責任人每天的代碼變化量的統(tǒng)計。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

附圖說明

附圖用來提供對本發(fā)明技術(shù)方案的進一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。

圖1為本發(fā)明代碼變化量的統(tǒng)計方法一實施例的流程示意圖;

圖2為本發(fā)明代碼變化量的統(tǒng)計裝置一實施例的結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。

在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

本發(fā)明實施例提供的代碼變化量的統(tǒng)計方法具體可以應(yīng)用于對修改或變 更的代碼進行統(tǒng)計時。本實施例提供的代碼變化量的統(tǒng)計方法具體可以通過代碼變化量的統(tǒng)計裝置來執(zhí)行,該代碼變化量的統(tǒng)計裝置可以集成在計算機內(nèi)部,或者單獨設(shè)置,其中,該代碼變化量的統(tǒng)計裝置可以采用軟件和/或硬件的方式來實現(xiàn)。以下對本實施例提供的代碼變化量的統(tǒng)計方法及其裝置進行詳細地說明。

圖1為本發(fā)明代碼變化量的統(tǒng)計方法一實施例的流程示意圖,如圖1所示,本實施例的方法的執(zhí)行主體可以是代碼變化量的統(tǒng)計裝置。該方法包括如下步驟:

步驟101、根據(jù)提交日期和責任人,確定比較處理腳本。

在本實施例中,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改對應(yīng)的代碼行數(shù)。

舉例來講,根據(jù)提交日期和責任人,確定比較處理腳本compare.bat,用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改對應(yīng)的代碼行數(shù);

compare.bat是如下比較命令的集合(以責任人為單位):

需要說明是-e表示有效代碼行的比較,具體的參考textdiff工具使用說明。

步驟102、根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。

在本實施例中,根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化 量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改總和的代碼行數(shù);根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。實現(xiàn)了對每個責任人每天的代碼變化量的統(tǒng)計。

在上述實施例的基礎(chǔ)上,該方法,還可以包括:

根據(jù)提交日期和責任人,確定前后代碼對比腳本,所述前后代碼對比腳本用以對所述提交日期和所述責任人對應(yīng)的當前代碼,以及前次代碼分別進行規(guī)范性檢測,所述前次代碼包括在獲取所述當前代碼之前的最近一版本的代碼。

根據(jù)所述前后代碼對比腳本,獲得當前代碼檢測結(jié)果和前次代碼檢測結(jié)果,所述當前代碼檢測結(jié)果包括對所述當前代碼進行規(guī)范性檢測的結(jié)果,所述前次代碼檢測結(jié)果包括對所述前次代碼進行規(guī)范性檢測的結(jié)果。

舉例來講,根據(jù)提交日期和責任人,確定前后代碼對比腳本checkStyle.bat,用于對當前代碼revision和前次代碼lastrevision對應(yīng)的源代碼進行規(guī)范檢查,并將結(jié)果輸出到前次代碼檢測結(jié)果old_checkstyle_report.xml和當前代碼檢測結(jié)果new_checkstyle_report.xm中;

(1)checkStyle.bat是如下命令的集合:

在上述實施例的基礎(chǔ)上,該方法,還包括:

根據(jù)日期,確定規(guī)范檢測腳本,所述規(guī)范檢測腳本用于對所述日期對應(yīng)的變化的代碼進行檢查;

根據(jù)所述規(guī)范檢測腳本,獲得變化代碼檢測結(jié)果,所述變化代碼檢測結(jié)果包括對每天變更的代碼進行規(guī)范性檢查的結(jié)果。其中,變化代碼包括代碼增加、代碼刪除和代碼修改中的至少一種。

舉例來講,根據(jù)日期確定規(guī)范檢測腳本copyCodeToSM.bat,用于將每天變化的文件拷貝到sourceMonitor檢測工具目錄下,對代碼進行sourceMonitor檢查。

進一步的,在上述實施例的基礎(chǔ)上,該方法,還可以包括:

根據(jù)提交日期、責任人以及修改前后的版本號,確定變更代碼比較腳本,所述變更代碼比較腳本用于對修改前后版本號對應(yīng)的代碼進行比較,獲得修改前后版本號對應(yīng)代碼的修改結(jié)果,所述修改前后版本號包括修改代碼或增加代碼的當前版本號,以及獲取所述當前版本號之前的最近一版本的版本號;

根據(jù)所述變更代碼比較腳本,確定修改前后版本號對應(yīng)代碼的修改結(jié)果。

根據(jù)文件的變化類型(M、A、D),對于變化類型是M和A的,根據(jù)提交日期、責任人以及修改前后的版本號按照一定的目錄組織規(guī)則生成導出文件的命令并輸入到批處理腳本svnExport.bat中;其中M表示修改、A表示添加、D表示刪除;

(2)svnExport.bat中的內(nèi)容是如下導出命令的集合(以單個文件為單位):

進一步的,在上述實施例的基礎(chǔ)上,依次執(zhí)行svnExport.bat、compare.bat、checkStyle.bat、copyCodeToSM.bat,執(zhí)行完畢,每天每人變更前后的文件會導出到本地目錄,代碼變動量比較結(jié)果txt文件和代碼規(guī)范檢查xml文件會輸出到批處理命令中設(shè)置的路徑下,具體的說明如下:

(1)revision對應(yīng)的文件導出到“文件導出目錄\項目版本名稱\code\提交日期\new\責任人\文件路徑\文件名稱”目錄下;

lastrevision對應(yīng)的文件導出到“文件導出目錄\項目版本名稱\code\提交日期\old\責任人\文件路徑\文件名稱”目錄下;

(2)txt文件會輸出到“文件導出目錄\項目版本名稱\code\提交日期\author\責任人\out.txt”

具體的,out.txt文件的內(nèi)容格式如下:

(3)revision和lastrevision對應(yīng)文件的代碼規(guī)范檢查結(jié)果分別輸出到下面目錄的文件中:

“文件導出目錄\項目版本名稱\code\提交日期\author\責任人\old_checkstyle_report.xml”

“文件導出目錄\項目版本名稱\code\提交日期\author\責任人\new_checkstyle_report.xml”

(4)SourceMonitor檢查結(jié)果csv文件輸出到目錄“SourceMonitor工具目錄\項目版本名稱\report”

步驟S06:代碼變更情況統(tǒng)計模塊解析“文件導出目錄\項目版本名稱\code\提交日期\author\責任人”目錄下的out.txt和*.xml文件,統(tǒng)計每人每天的代碼變更情況,并將結(jié)果輸出到EXCEL報表中,具體的統(tǒng)計信息包括:責任人、變更日期、SVN版本號、代碼所屬項目分支名稱、文件路徑、文件名稱、變更類別、增加的代碼行數(shù)、刪除的代碼行數(shù)、修改的代碼行數(shù)、代碼總行數(shù)、注釋率、修改前代碼規(guī)范檢查指標值、修改后代碼規(guī)范檢查指標值、修改前后規(guī)范檢查差值、SVN提交日志、故障單號、所屬模塊。最后,會對統(tǒng)計區(qū)間內(nèi)每個開發(fā)人員的總的代碼變更情況進行匯總,并將結(jié)果輸出到EXCEL報表的“匯總”頁中。較佳的,根據(jù)變更類別和所屬模塊可以統(tǒng)計出每個模塊的故障單數(shù)及代碼行數(shù),進而得出故障泄漏率。

根據(jù)所述的實施方案,用戶在執(zhí)行一次統(tǒng)計任務(wù)時,可以將需要的參數(shù)信息配置到批處理命令中,然后一鍵執(zhí)行即可,中途不需人工輸入任何參數(shù)。具體的配置信息說明如下:

在上述實施例的基礎(chǔ)上,在所述根據(jù)提交日期和責任人,確定比較處理腳本之前,還包括:

確定版本號區(qū)間和要統(tǒng)計的代碼所在的版本庫路徑;或者

確定時間段和要統(tǒng)計的代碼所在的版本庫路徑。

舉例來講,首先要在項目版本中規(guī)范化管理提交日志模板和代碼注釋模板,下面列出本發(fā)明實施例中用到的模板,需要說明的是,模板不限于此,可以根據(jù)實際需求進行調(diào)整,具體的,本實施例中用到的模板信息如下:

SVN提交日志模板如下:

代碼注釋模板如下:

圖2為本發(fā)明代碼變化量的統(tǒng)計裝置一實施例的結(jié)構(gòu)示意圖,如圖2所示,該代碼變化量的統(tǒng)計裝置,包括:確定模塊21和處理模塊22。其中,

確定模塊21,用于根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改對應(yīng)的代碼行數(shù);

處理模塊22,用于根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。

本實施例中,根據(jù)提交日期和責任人,確定比較處理腳本,所述比較處理腳本用于比較在所述提交日期的范圍內(nèi),每個責任人每天的代碼變化量,所述代碼變化量包括代碼增加、代碼刪除和代碼修改總和的代碼行數(shù);根據(jù)所述比較處理腳本,獲得所述責任人每天的代碼變化量。實現(xiàn)了對每個責任人每天的代碼變化量的統(tǒng)計。

在上述實施例的基礎(chǔ)上,所述確定模塊21,還用于根據(jù)提交日期和責任人,確定前后代碼對比腳本,所述前后代碼對比腳本用以對所述提交日期和所述責任人對應(yīng)的當前代碼,以及前次代碼分別進行規(guī)范性檢測,所述前次代碼包括在獲取所述當前代碼之前的最近一版本的代碼;

所述處理模塊22,還用于根據(jù)所述前后代碼對比腳本,獲得當前代碼檢測結(jié)果和前次代碼檢測結(jié)果,所述當前代碼檢測結(jié)果包括對所述當前代碼進行規(guī)范性檢測的結(jié)果,所述前次代碼檢測結(jié)果包括對所述前次代碼進行規(guī)范性檢測的結(jié)果。

可選的,在上述實施例的基礎(chǔ)上,所述確定模塊21,還用于根據(jù)日期,確定規(guī)范檢測腳本,所述規(guī)范檢測腳本用于對所述日期對應(yīng)的變更的代碼進行檢查;

所述處理模塊22,還用于根據(jù)所述規(guī)范檢測腳本,獲得變更代碼檢測結(jié)果,所述變更代碼檢測結(jié)果包括對所述日期對應(yīng)的變更的代碼進行規(guī)范性檢查的結(jié)果。

可選的,在上述實施例的基礎(chǔ)上,所述確定模塊21,還用于根據(jù)提交日期、責任人以及修改前后的版本號,確定變更代碼比較腳本,所述變更代碼比較腳本用于對修改前后版本號對應(yīng)的代碼進行比較,獲得修改前后版本號對應(yīng)代碼的修改結(jié)果,所述修改前后版本號包括修改代碼或增加代碼的當前版本號,以及獲取所述當前版本號之前的最近一版本的版本號;

所述處理模塊22,還用于根據(jù)所述變更代碼比較腳本,確定修改前后版本號對應(yīng)代碼的修改結(jié)果。

進一步的,在上述實施例的基礎(chǔ)上,所述確定模塊21,還用于確定版本號區(qū)間和要統(tǒng)計的代碼所在的版本庫路徑;或者,確定時間段和要統(tǒng)計的代碼所在的版本庫路徑。

雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細節(jié)上進行任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利 要求書所界定的范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1