本發(fā)明實(shí)施例涉及代碼開發(fā)技術(shù)領(lǐng)域,特別涉及一種代碼量統(tǒng)計(jì)方法及裝置。
背景技術(shù):
在代碼開發(fā)過程中,經(jīng)常需要統(tǒng)計(jì)開發(fā)的代碼的數(shù)量。
現(xiàn)有的代碼量統(tǒng)計(jì)方法包括:掃描目標(biāo)代碼的代碼文件,統(tǒng)計(jì)目標(biāo)代碼的總行數(shù)。上述統(tǒng)計(jì)方法只能獲取到目標(biāo)代碼的總量,并不能獲知目標(biāo)代碼的變化情況,也即上述統(tǒng)計(jì)方法無法獲取代碼的變化情況。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明實(shí)施例提供了一種文件名顯示方法及裝置。技術(shù)方案如下:
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種代碼量統(tǒng)計(jì)方法,該方法包括:
獲取目標(biāo)代碼的代碼存儲(chǔ)位置;
通過版本控制系統(tǒng)客戶端庫SVN kit獲取所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼;
統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述通過版本控制系統(tǒng)客戶端庫SVN kit獲取所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,包括:
通過所述SVN kit確定所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在所述預(yù)設(shè)時(shí)間段內(nèi)的各個(gè)版本的版本號(hào);
通過所述SVN kit獲取相鄰兩個(gè)版本之間的差異代碼;
所述統(tǒng)計(jì)所述差異代碼的行數(shù),包括:
對(duì)于每個(gè)差異代碼,統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述方法還包括:
建立統(tǒng)計(jì)得到的所述行數(shù)和預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,所述預(yù)設(shè)內(nèi)容包括所述目標(biāo)代碼的標(biāo)識(shí)、所述代碼存儲(chǔ)位置、版本號(hào)、所述行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段中的至少一種;
保存所述對(duì)應(yīng)關(guān)系;
接收查詢請(qǐng)求;所述查詢請(qǐng)求包括:查詢所述目標(biāo)代碼的目標(biāo)版本的差異代碼的行數(shù),和/或,所述目標(biāo)代碼在目標(biāo)時(shí)間段內(nèi)的差異代碼的行數(shù);
根據(jù)所述對(duì)應(yīng)關(guān)系查詢行數(shù)。
可選地,所述統(tǒng)計(jì)所述差異代碼的行數(shù)之前,所述方法還包括:
獲取所述差異代碼所屬的文件;
檢測(cè)獲取到的各個(gè)文件中是否包含預(yù)設(shè)文件;
若包含所述預(yù)設(shè)文件,則過濾所述差異代碼中屬于所述預(yù)設(shè)文件的代碼。
可選地,所述方法還包括:
檢測(cè)所述差異代碼中是否包含無效代碼庫中的代碼;
若包含所述無效代碼庫中的代碼,則過濾所述差異代碼中的所述代碼。
第二方面,提供了一種代碼量統(tǒng)計(jì)裝置,所述裝置包括:
第一獲取模塊,用于獲取目標(biāo)代碼的代碼存儲(chǔ)位置;
第二獲取模塊,用于通過版本控制系統(tǒng)客戶端庫SVN kit獲取所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼;
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述第二獲取模塊,還用于:
通過所述SVN kit確定所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在所述預(yù)設(shè)時(shí)間段內(nèi)的各個(gè)版本的版本號(hào);
通過所述SVN kit獲取相鄰兩個(gè)版本之間的差異代碼;
所述統(tǒng)計(jì)模塊,還用于對(duì)于每個(gè)差異代碼,統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述裝置還包括:
建立模塊,用于建立統(tǒng)計(jì)得到的所述行數(shù)和預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,所述預(yù)設(shè)內(nèi)容包括所述目標(biāo)代碼的標(biāo)識(shí)、所述代碼存儲(chǔ)位置、版本號(hào)、所述行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段中的至少一種;
保存模塊,用于保存所述建立模塊建立的所述對(duì)應(yīng)關(guān)系;
接收模塊,用于接收查詢請(qǐng)求;所述查詢請(qǐng)求包括:查詢所述目標(biāo)代碼的目標(biāo)版本的差異代碼的行數(shù),和/或,所述目標(biāo)代碼在目標(biāo)時(shí)間段內(nèi)的差異代碼的行數(shù);
查詢模塊,用于根據(jù)所述對(duì)應(yīng)關(guān)系查詢行數(shù)。
可選地,所述裝置還包括:
第三獲取模塊,用于在所述統(tǒng)計(jì)模塊統(tǒng)計(jì)所述差異代碼的行數(shù)之前,獲取所述差異代碼所屬的文件;
第一檢測(cè)模塊,用于檢測(cè)獲取到的各個(gè)文件中是否包含預(yù)設(shè)文件;
第一過濾模塊,用于在所述第一檢測(cè)模塊的檢測(cè)結(jié)果為包含所述預(yù)設(shè)文件時(shí),過濾所述差異代碼中屬于所述預(yù)設(shè)文件的代碼。
可選地,所述裝置還包括:
第二檢測(cè)模塊,用于檢測(cè)所述差異代碼中是否包含無效代碼庫中的代碼;
第二過濾模塊,用于在所述第二檢測(cè)模塊的檢測(cè)結(jié)果為包含所述無效代碼庫中的代碼時(shí),過濾所述差異代碼中的所述代碼。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:
通過在獲取到目標(biāo)代碼的代碼存儲(chǔ)位置之后,根據(jù)SVN kit獲取的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,統(tǒng)計(jì)差異代碼的行數(shù);解決了現(xiàn)有技術(shù)中只能獲取到代碼的總量,而并不能獲知代碼變化情況的問題;達(dá)到了可以獲知差異代碼也即變化的代碼的增量的效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)方法的流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)方法的原理框圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)裝置的示意圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)裝置的示意圖;
圖6是本發(fā)明一個(gè)實(shí)施例提供的服務(wù)器的示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)方法的方法流程圖,如圖1所示,該代碼量統(tǒng)計(jì)方法可以包括:
步驟101,獲取目標(biāo)代碼的代碼存儲(chǔ)位置。
步驟102,通過SVN kit(Subversion kit,版本控制系統(tǒng)客戶端庫)獲取代碼存儲(chǔ)位置中的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼。
步驟103,統(tǒng)計(jì)差異代碼的行數(shù)。
綜上所述,本實(shí)施例提供的代碼量統(tǒng)計(jì)方法,通過在獲取到目標(biāo)代碼的代碼存儲(chǔ)位置之后,根據(jù)SVN kit獲取的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,統(tǒng)計(jì)差異代碼的行數(shù);解決了現(xiàn)有技術(shù)中只能獲取到代碼的總量,而并不能獲知代碼變化情況的問題;達(dá)到了可以獲知差異代碼也即變化的代碼的增量的效果。
請(qǐng)參考圖2,其示出了本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)方法的方法流程圖,如圖2所示,該代碼量統(tǒng)計(jì)方法可以包括:
步驟201,獲取目標(biāo)代碼的代碼存儲(chǔ)位置。
服務(wù)器獲取目標(biāo)代碼的SVN代碼存儲(chǔ)位置。其中,SVN用于多個(gè)人共同開發(fā)同一段代碼,實(shí)現(xiàn)共用資源的目的。
實(shí)際實(shí)現(xiàn)時(shí),服務(wù)器可以接收終端發(fā)送的代碼存儲(chǔ)位置,或者,接收用戶在前端配置的代碼存儲(chǔ)位置。代碼存儲(chǔ)位置可以為存儲(chǔ)路徑,比如,http://svn.com/project;也可以為存儲(chǔ)地址,對(duì)此并不做限定。
比如,“abc”項(xiàng)目組共有5人,5人共同開發(fā)“abc”的代碼,則當(dāng)項(xiàng)目主管想要獲知當(dāng)前進(jìn)度時(shí),項(xiàng)目主管可以通過終端發(fā)送“abc”的代碼存儲(chǔ)位置至服務(wù)器,相應(yīng)的,服務(wù)器可以接收到該代碼存儲(chǔ)位置。
可選地,服務(wù)器還可以獲取預(yù)設(shè)時(shí)間段,該預(yù)設(shè)時(shí)間段為需要查詢的時(shí)間段。比如,仍然以上述舉例為例,當(dāng)項(xiàng)目主管想要查詢前一天的代碼變化情況時(shí),項(xiàng)目主管可以通過終端發(fā)送“9:00~24:00”的時(shí)間段至服務(wù)器,相應(yīng)的,服務(wù)器可以接收到該時(shí)間段。
步驟202,通過SVN kit確定代碼存儲(chǔ)位置中的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的各個(gè)版本的版本號(hào)。
其中,預(yù)設(shè)時(shí)間段可以為系統(tǒng)中默認(rèn)的時(shí)間段,或者,用戶自定義的時(shí)間段,對(duì)此并不做限定。
可選地,服務(wù)器可以通過SVN kit確定目標(biāo)代碼在預(yù)設(shè)時(shí)間段的起始時(shí)刻以及結(jié)束時(shí)刻之間的各個(gè)版本的版本號(hào)。
其中,本實(shí)施例所說的版本號(hào)可以為版本更新的時(shí)間(也即代碼每次更改的時(shí)間),對(duì)此并不做限定。比如,預(yù)設(shè)時(shí)間段為9:00~24:00,服務(wù)器可以確定得到目標(biāo)代碼在12.27日的12:05分更新一次、15:25分更新一次以及19:03分更新一次,則服務(wù)器確定得到的版本號(hào)分別為12:05、15:25和19:03。
可選地,版本號(hào)還可以為遞增的編號(hào),并且,每個(gè)版本號(hào)對(duì)應(yīng)于代碼更新的一個(gè)時(shí)間點(diǎn)。比如,仍然以上述舉例為例,服務(wù)器確定的版本號(hào)為40956、40957和40958,其中,40956對(duì)應(yīng)于2016-12-27日12:05,40957對(duì)應(yīng)于2016-12-27日15:25和40958對(duì)應(yīng)于2016-12-27日19:03,本實(shí)施例在此不再贅述。
步驟203,通過SVN kit獲取相鄰兩個(gè)版本之間的差異代碼。
差異代碼是指相鄰兩個(gè)版本中代碼發(fā)生變化的內(nèi)容。
可選地,服務(wù)器可以通過SVN kit獲取目標(biāo)代碼在9:00~12:05分之間更新的部分,將獲取到的部分作為這兩個(gè)版本之間的差異代碼;類似的,服務(wù)器還可以通過SVN kit獲取目標(biāo)代碼在12:05~15:25分之間更新的部分,在15:25~19:03更新的部分,以及在19:03~24:00之間更新的部分,將獲取到的每個(gè)部分作為對(duì)應(yīng)時(shí)間段內(nèi)的差異代碼。
步驟204,對(duì)于每個(gè)差異代碼,統(tǒng)計(jì)差異代碼的行數(shù)。
在獲取得到差異代碼之后,服務(wù)器可以通過SVN kit統(tǒng)計(jì)每個(gè)差異代碼的行數(shù)??蛇x地,服務(wù)器可以通過SVN kit將每個(gè)差異代碼輸入至統(tǒng)計(jì)引擎,通過統(tǒng)計(jì)引擎統(tǒng)計(jì)得到每個(gè)差異代碼的行數(shù)。
比如,對(duì)于9:00~12:05之間的差異代碼,服務(wù)器統(tǒng)計(jì)的該差異代碼的行數(shù)為120行;對(duì)于12:05~15:25之間的差異代碼,服務(wù)器統(tǒng)計(jì)的該差異代碼的行數(shù)為88行。對(duì)于15:25~19:03之間的差異代碼,服務(wù)器統(tǒng)計(jì)的該差異代碼的行數(shù)為50行。
步驟205,建立統(tǒng)計(jì)得到的行數(shù)和預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,預(yù)設(shè)內(nèi)容包括目標(biāo)代碼的標(biāo)識(shí)、代碼存儲(chǔ)位置、版本號(hào)、行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段中的至少一種。
在統(tǒng)計(jì)得到每個(gè)差異代碼的行數(shù)之后,服務(wù)器可以建立統(tǒng)計(jì)得到的每個(gè)差異代碼的行數(shù)與預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系。預(yù)設(shè)內(nèi)容包括目標(biāo)代碼的標(biāo)識(shí)、代碼存儲(chǔ)位置、版本號(hào)、行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段中的至少一種。
其中,該行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段是指:產(chǎn)生對(duì)應(yīng)的差異代碼的時(shí)間段。比如,結(jié)合上述舉例,88行的差異代碼所對(duì)應(yīng)的時(shí)間段為12:05~15:25。
以預(yù)設(shè)內(nèi)容包括目標(biāo)代碼的標(biāo)識(shí)、代碼存儲(chǔ)位置、版本號(hào)以及差異代碼所對(duì)應(yīng)的時(shí)間段為例,請(qǐng)參考表1,其示出了一種可能的對(duì)應(yīng)關(guān)系。
表1
需要說明的是,上述只是以預(yù)設(shè)內(nèi)容包括上述幾種來舉例,可選地,預(yù)設(shè)內(nèi)容還可以包括其他內(nèi)容,本實(shí)施例對(duì)此并不做限定。
步驟206,保存對(duì)應(yīng)關(guān)系。
步驟207,接收查詢請(qǐng)求;查詢請(qǐng)求包括:查詢目標(biāo)代碼的目標(biāo)版本的差異代碼的行數(shù),和/或,目標(biāo)代碼在目標(biāo)時(shí)間段內(nèi)的差異代碼的行數(shù)。
此后,用戶即可根據(jù)自己的使用需求出發(fā)查詢請(qǐng)求。比如,用戶可以在終端中觸發(fā)該查詢請(qǐng)求,終端發(fā)送該查詢請(qǐng)求至服務(wù)器,相應(yīng)的,服務(wù)器可以接收到該查詢請(qǐng)求。
步驟208,根據(jù)對(duì)應(yīng)關(guān)系查詢行數(shù)。
服務(wù)器接收到查詢請(qǐng)求之后,即可根據(jù)預(yù)先保存的對(duì)應(yīng)關(guān)系進(jìn)行查詢。比如,以查詢請(qǐng)求為查詢“abc”在12:00~24:00內(nèi)的差異代碼的行數(shù)為例,結(jié)合表1,服務(wù)器可以統(tǒng)計(jì)得到在12:00~24:00時(shí)間段內(nèi)的差異代碼的行數(shù)為88+50=138行。
需要補(bǔ)充說明的是,步驟205至步驟208為可選步驟,實(shí)際實(shí)現(xiàn)時(shí),可以執(zhí)行也可以不執(zhí)行,本實(shí)施例對(duì)此并不做限定。
綜上所述,本實(shí)施例提供的代碼量統(tǒng)計(jì)方法,通過在獲取到目標(biāo)代碼的代碼存儲(chǔ)位置之后,根據(jù)SVN kit獲取的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,統(tǒng)計(jì)差異代碼的行數(shù);解決了現(xiàn)有技術(shù)中只能獲取到代碼的總量,而并不能獲知代碼變化情況的問題;達(dá)到了可以獲知差異代碼也即變化的代碼的增量的效果。
通過建立并保存相鄰兩個(gè)版本之間的差異代碼的行數(shù)與預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,也即以小粒度進(jìn)行統(tǒng)計(jì),使得后續(xù)可以根據(jù)保存的對(duì)應(yīng)關(guān)系滿足不同的查詢需求。
在上述各個(gè)實(shí)施例中,需要補(bǔ)充說明的一點(diǎn)是,在步驟204之前,該方法還可以包括如下步驟:
第一,獲取差異代碼所屬的文件。
對(duì)于每個(gè)差異代碼,服務(wù)器可以獲取差異代碼所屬的文件??蛇x地,差異代碼中的代碼可以屬于不同的文件,此時(shí),服務(wù)器可以相應(yīng)的獲取到多個(gè)文件,本實(shí)施例對(duì)此并不做限定。比如:差異代碼中的部分代碼屬于文件A,部分代碼屬于文件B,其余的代碼屬于文件C。
第二,檢測(cè)獲取到的各個(gè)文件中是否包含預(yù)設(shè)文件。
預(yù)設(shè)文件是指被可以被忽略的文件。
第三,若包含預(yù)設(shè)文件,則過濾差異代碼中屬于預(yù)設(shè)文件的代碼。
如果獲取到的各個(gè)文件中包含預(yù)設(shè)文件,則過濾差異代碼中屬于該預(yù)設(shè)文件的代碼。
通過過濾差異代碼中不符合條件的代碼,進(jìn)而之后統(tǒng)計(jì)差異代碼的行數(shù),提高了服務(wù)器獲取到的增量的準(zhǔn)確度。
需要補(bǔ)充說明的另一點(diǎn)是,上述只是以通過預(yù)設(shè)文件來過濾差異代碼為例,可選地,在步驟204之前,還可以執(zhí)行如下步驟:
第一,檢測(cè)差異代碼中是否包含無效代碼庫中的代碼;
無效代碼庫是指預(yù)先設(shè)定的包含無效代碼的代碼庫。
第二,若包含無效代碼庫中的代碼,則過濾差異代碼中的代碼。
如果差異代碼中包含無效代碼庫中的代碼,則服務(wù)器可以獲取差異代碼中屬于無效代碼庫的代碼。
通過過濾差異代碼中的無效代碼,進(jìn)而之后統(tǒng)計(jì)差異代碼的行數(shù),提高了服務(wù)器獲取到的增量的準(zhǔn)確度。
請(qǐng)參考圖4,其示出了本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖,如圖4所示,該代碼量統(tǒng)計(jì)裝置可以包括:第一獲取模塊401、第二獲取模塊402和統(tǒng)計(jì)模塊403。
第一獲取模塊401,用于獲取目標(biāo)代碼的代碼存儲(chǔ)位置;
第二獲取模塊402,用于通過版本控制系統(tǒng)客戶端庫SVN kit獲取所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼;
統(tǒng)計(jì)模塊403,用于統(tǒng)計(jì)所述差異代碼的行數(shù)。
綜上所述,本實(shí)施例提供的代碼量統(tǒng)計(jì)裝置,通過在獲取到目標(biāo)代碼的代碼存儲(chǔ)位置之后,根據(jù)SVN kit獲取的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,統(tǒng)計(jì)差異代碼的行數(shù);解決了現(xiàn)有技術(shù)中只能獲取到代碼的總量,而并不能獲知代碼變化情況的問題;達(dá)到了可以獲知差異代碼也即變化的代碼的增量的效果。
請(qǐng)參考圖5,其示出了本發(fā)明一個(gè)實(shí)施例提供的代碼量統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖,如圖5所示,該代碼量統(tǒng)計(jì)裝置可以包括:第一獲取模塊501、第二獲取模塊502和統(tǒng)計(jì)模塊503。
第一獲取模塊501,用于獲取目標(biāo)代碼的代碼存儲(chǔ)位置;
第二獲取模塊502,用于通過版本控制系統(tǒng)客戶端庫SVN kit獲取所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼;
統(tǒng)計(jì)模塊503,用于統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述第二獲取模塊502,還用于:
通過所述SVN kit確定所述代碼存儲(chǔ)位置中的所述目標(biāo)代碼在所述預(yù)設(shè)時(shí)間段內(nèi)的各個(gè)版本的版本號(hào);
通過所述SVN kit獲取相鄰兩個(gè)版本之間的差異代碼;
所述統(tǒng)計(jì)模塊503,還用于對(duì)于每個(gè)差異代碼,統(tǒng)計(jì)所述差異代碼的行數(shù)。
可選地,所述裝置還包括:
建立模塊504,用于建立統(tǒng)計(jì)得到的所述行數(shù)和預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,所述預(yù)設(shè)內(nèi)容包括所述目標(biāo)代碼的標(biāo)識(shí)、所述代碼存儲(chǔ)位置、版本號(hào)、所述行數(shù)的差異代碼所對(duì)應(yīng)的時(shí)間段中的至少一種;
保存模塊505,用于保存所述建立模塊建立的所述對(duì)應(yīng)關(guān)系;
接收模塊506,用于接收查詢請(qǐng)求;所述查詢請(qǐng)求包括:查詢所述目標(biāo)代碼的目標(biāo)版本的差異代碼的行數(shù),和/或,所述目標(biāo)代碼在目標(biāo)時(shí)間段內(nèi)的差異代碼的行數(shù);
查詢模塊507,用于根據(jù)所述對(duì)應(yīng)關(guān)系查詢行數(shù)。
可選地,所述裝置還包括:
第三獲取模塊508,用于在所述統(tǒng)計(jì)模塊統(tǒng)計(jì)所述差異代碼的行數(shù)之前,獲取所述差異代碼所屬的文件;
第一檢測(cè)模塊509,用于檢測(cè)獲取到的各個(gè)文件中是否包含預(yù)設(shè)文件;
第一過濾模塊510,用于在所述第一檢測(cè)模塊509的檢測(cè)結(jié)果為包含所述預(yù)設(shè)文件時(shí),過濾所述差異代碼中屬于所述預(yù)設(shè)文件的代碼。
可選地,所述裝置還包括:
第二檢測(cè)模塊511,用于檢測(cè)所述差異代碼中是否包含無效代碼庫中的代碼;
第二過濾模塊512,用于在所述第二檢測(cè)模塊511的檢測(cè)結(jié)果為包含所述無效代碼庫中的代碼時(shí),過濾所述差異代碼中的所述代碼。
綜上所述,本實(shí)施例提供的代碼量統(tǒng)計(jì)裝置,通過在獲取到目標(biāo)代碼的代碼存儲(chǔ)位置之后,根據(jù)SVN kit獲取的目標(biāo)代碼在預(yù)設(shè)時(shí)間段內(nèi)的差異代碼,統(tǒng)計(jì)差異代碼的行數(shù);解決了現(xiàn)有技術(shù)中只能獲取到代碼的總量,而并不能獲知代碼變化情況的問題;達(dá)到了可以獲知差異代碼也即變化的代碼的增量的效果。
通過建立并保存相鄰兩個(gè)版本之間的差異代碼的行數(shù)與預(yù)設(shè)內(nèi)容之間的對(duì)應(yīng)關(guān)系,也即以小粒度進(jìn)行統(tǒng)計(jì),使得后續(xù)可以根據(jù)保存的對(duì)應(yīng)關(guān)系滿足不同的查詢需求。
通過過濾差異代碼中不符合條件的代碼,進(jìn)而之后統(tǒng)計(jì)差異代碼的行數(shù),提高了服務(wù)器獲取到的增量的準(zhǔn)確度。
通過過濾差異代碼中的無效代碼,進(jìn)而之后統(tǒng)計(jì)差異代碼的行數(shù),提高了服務(wù)器獲取到的增量的準(zhǔn)確度。
需要說明的是:上述實(shí)施例提供的代碼量統(tǒng)計(jì)裝置,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將服務(wù)器的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的代碼量統(tǒng)計(jì)裝置和代碼量統(tǒng)計(jì)方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例中的存儲(chǔ)器中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,該一個(gè)或者一個(gè)以上程序被一個(gè)或者一個(gè)以上的處理器用來執(zhí)行上述代碼量統(tǒng)計(jì)客戶端的代碼量統(tǒng)計(jì)方法或者用來執(zhí)行上述服務(wù)器側(cè)的代碼量統(tǒng)計(jì)方法。
請(qǐng)參考圖6,其示出了本發(fā)明一個(gè)實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。該服務(wù)器用于實(shí)施上述實(shí)施例中提供的關(guān)于服務(wù)器側(cè)的代碼量統(tǒng)計(jì)方法。具體來講:
所述服務(wù)器600包括中央處理單元(CPU)601、包括隨機(jī)存取存儲(chǔ)器(RAM)602和只讀存儲(chǔ)器(ROM)603的系統(tǒng)存儲(chǔ)器604,以及連接系統(tǒng)存儲(chǔ)器604和中央處理單元601的系統(tǒng)總線605。所述服務(wù)器600還包括幫助計(jì)算機(jī)內(nèi)的各個(gè)器件之間傳輸信息的基本輸入/輸出系統(tǒng)(I/O系統(tǒng))606,和用于存儲(chǔ)操作系統(tǒng)613、應(yīng)用程序614和其他程序模塊615的大容量存儲(chǔ)設(shè)備607。
所述基本輸入/輸出系統(tǒng)606包括有用于顯示信息的顯示器608和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備609。其中所述顯示器608和輸入設(shè)備609都通過連接到系統(tǒng)總線605的輸入輸出控制器610連接到中央處理單元601。所述基本輸入/輸出系統(tǒng)606還可以包括輸入輸出控制器610以用于接收和處理來自鍵盤、鼠標(biāo)、或電子觸控筆等多個(gè)其他設(shè)備的輸入。類似地,輸入輸出控制器610還提供輸出到顯示屏、打印機(jī)或其他類型的輸出設(shè)備。
所述大容量存儲(chǔ)設(shè)備607通過連接到系統(tǒng)總線605的大容量存儲(chǔ)控制器(未示出)連接到中央處理單元601。所述大容量存儲(chǔ)設(shè)備607及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為服務(wù)器600提供非易失性存儲(chǔ)。也就是說,所述大容量存儲(chǔ)設(shè)備607可以包括諸如硬盤或者CD-ROM驅(qū)動(dòng)器之類的計(jì)算機(jī)可讀介質(zhì)(未示出)。
不失一般性,所述計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EPROM、EEPROM、閃存或其他固態(tài)存儲(chǔ)其技術(shù),CD-ROM、DVD或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備。當(dāng)然,本領(lǐng)域技術(shù)人員可知所述計(jì)算機(jī)存儲(chǔ)介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲(chǔ)器604和大容量存儲(chǔ)設(shè)備607可以統(tǒng)稱為存儲(chǔ)器。
根據(jù)本發(fā)明的各種實(shí)施例,所述服務(wù)器600還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)運(yùn)行。也即服務(wù)器600可以通過連接在所述系統(tǒng)總線605上的網(wǎng)絡(luò)接口單元611連接到網(wǎng)絡(luò)612,或者說,也可以使用網(wǎng)絡(luò)接口單元611來連接到其他類型的網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)(未示出)。
所述存儲(chǔ)器還包括一個(gè)或者一個(gè)以上的程序,所述一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行。上述一個(gè)或者一個(gè)以上程序包含用于執(zhí)行上述服務(wù)器側(cè)的代碼量統(tǒng)計(jì)方法的指令。
應(yīng)當(dāng)理解的是,在本文中使用的,除非上下文清楚地支持例外情況,單數(shù)形式“一個(gè)”(“a”、“an”、“the”)旨在也包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解的是,在本文中使用的“和/或”是指包括一個(gè)或者一個(gè)以上相關(guān)聯(lián)地列出的項(xiàng)目的任意和所有可能組合。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。