本發(fā)明涉及代碼庫管理技術(shù)領(lǐng)域,特別涉及一種代碼缺陷的通知方法及系統(tǒng)。
背景技術(shù):
代碼庫提供了一種將代碼封裝在單個文件中,允許繼承和修改這些文件的方法。開發(fā)者可以將來自多個不同項目的代碼文件合并到一個代碼庫中,每個項目的代碼將作為代碼庫中的一個分支代碼,相互之間進行調(diào)用,實現(xiàn)代碼共享。例如,一款產(chǎn)品因目標市場不同,客戶需求不同,所以軟件代碼也不盡相同,開發(fā)者可以將該產(chǎn)品不同的軟件代碼合并到一個代碼庫中,而每個軟件代碼將作為代碼庫的一個分支,以便于管理。
在軟件尤其是大型軟件中出現(xiàn)代碼缺陷是不可避免的,因此在代碼庫管理技術(shù)領(lǐng)域,代碼缺陷的管理、監(jiān)控及修復(fù)也是開發(fā)者的重要工作之一。
現(xiàn)有技術(shù)當中,當發(fā)現(xiàn)一個代碼缺陷時,通常情況是軟件負責人將修復(fù)該代碼缺陷的任務(wù)指派給某個工程師,而在一個代碼庫中可能存在很多代碼缺陷,而軟件負責人無法及時管控所有的代碼缺陷,從而導(dǎo)致出現(xiàn)漏處理的代碼缺陷,并且現(xiàn)有技術(shù)當中,通常是通過人工監(jiān)測代碼缺陷是否已被修復(fù),當指派的工程師未按時間完成修復(fù)任務(wù),且負責人沒有注意到時,往往導(dǎo)致存在已發(fā)現(xiàn)代碼缺陷的產(chǎn)品繼續(xù)流向市場,造成潛在風險。
技術(shù)實現(xiàn)要素:
基于此,本發(fā)明的目的是提供一種代碼缺陷的通知方法及系統(tǒng),以使當達到指定修復(fù)時間時,能夠自動的監(jiān)測代碼缺陷是否完全修復(fù),且當未完全修復(fù)時,將發(fā)送通知信息。
根據(jù)本發(fā)明實施例的一種代碼缺陷的通知方法,包括:
獲取代碼庫內(nèi)的所有分支代碼中的缺陷子代碼,對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間,并將所述id及所述修復(fù)完成時間記錄到缺陷列表中;
當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,獲取與所述任一修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù);
若否,則將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知。
另外,根據(jù)本發(fā)明上述實施例的一種代碼缺陷的通知方法,還可以具有如下附加的技術(shù)特征:
在所述對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間的步驟之后,所述代碼缺陷的通知方法還包括:
對每種所述缺陷子代碼分配對應(yīng)的通知信息發(fā)送地址,并將所述通知信息發(fā)送地址記錄到所述缺陷列表中。
所述將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知的步驟包括:
在所述缺陷列表中提取與所述目標id對應(yīng)的目標通知信息發(fā)送地址;
將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息發(fā)送到所述目標通知信息發(fā)送地址。
所述判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù)的步驟包括:
判斷在與所述目標缺陷子代碼相關(guān)的所有所述目標分支代碼中是否均存在所述目標id。
在所述判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù)的步驟之后,所述代碼缺陷的通知方法還包括:
若是,則清除所述缺陷列表中記錄的與所述目標id相關(guān)的所有內(nèi)容。
在所述將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知的步驟之后,所述代碼缺陷的通知方法還包括:
開啟所述代碼庫的代碼修復(fù)模式,以使需要指定權(quán)限的用戶才能編輯所述代碼庫中的代碼。
根據(jù)本發(fā)明實施例的一種代碼缺陷的通知系統(tǒng),包括:
代碼信息記錄模塊,用于獲取代碼庫內(nèi)的所有分支代碼中的缺陷子代碼,對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間,并將所述id及所述修復(fù)完成時間記錄到缺陷列表中;
判斷模塊,用于當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,獲取與所述任一修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù);
通知信息發(fā)送模塊,用于當判斷到所述目標缺陷子代碼在所有的所述目標分支代碼中不是均被修復(fù)時,將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知。
另外,根據(jù)本發(fā)明上述實施例的一種代碼缺陷的通知系統(tǒng),還可以具有如下附加的技術(shù)特征,
所述代碼缺陷的通知系統(tǒng)還包括:
地址分配記錄模塊,用于對每種所述缺陷子代碼分配對應(yīng)的通知信息發(fā)送地址,并將所述通知信息發(fā)送地址記錄到所述缺陷列表中。
所述通知信息發(fā)送模塊包括:
地址獲取單元,用于在所述缺陷列表中提取與所述目標id對應(yīng)的目標通知信息發(fā)送地址;
通知信息發(fā)送子單元,用于將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息發(fā)送到所述目標通知信息發(fā)送地址。
所述判斷模塊包括:
判斷子單元,用于判斷在與所述目標缺陷子代碼相關(guān)的所有所述目標分支代碼中是否均存在所述目標id。
所述代碼缺陷的通知系統(tǒng)還包括:
清除模塊,用于當判斷到所述目標缺陷子代碼在所有的所述目標分支代碼中均被修復(fù)時,清除所述缺陷列表中記錄的與所述目標id相關(guān)的所有內(nèi)容。
所述代碼缺陷的通知系統(tǒng)還包括:
修復(fù)模塊開啟模塊,用于當所述通知信息發(fā)送模塊發(fā)送通知信息后,開啟所述代碼庫的代碼修復(fù)模式,以使需要指定權(quán)限的用戶才能編輯所述代碼庫中的代碼。
上述代碼缺陷的通知方法及系統(tǒng),通過獲取所述代碼庫中的所有缺陷子代碼,并對每個缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間(相同缺陷子代碼的id及修復(fù)完成時間相同),然后將所有的id及對應(yīng)的修復(fù)完成時間記錄到所述缺陷列表中,通過所述缺陷列表即可自動且及時的管控所述代碼庫中的所有缺陷子代碼,然后當當前時間達到所述缺陷列表中記錄的某個修復(fù)完成時間時,獲取與此修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù),當判斷到?jīng)]有均被修復(fù)時,將所述目標id及未修復(fù)所述目標缺陷子代碼的目標分支代碼作為信息進行通知,相關(guān)負責人根據(jù)通知信息,即可了解到,在指定期限內(nèi),仍然存在缺陷子代碼未完全修復(fù),同時還可以知道未完全被修復(fù)的缺陷子代碼的id及對應(yīng)未修復(fù)的分支代碼,因此所述代碼缺陷的通知方法能夠在當達到指定修復(fù)時間時,自動的監(jiān)測代碼缺陷是否完全修復(fù),且當對應(yīng)的代碼缺陷未完全修復(fù)時,將發(fā)送通知信息,以便于相關(guān)負責人及時處理,以存在已發(fā)現(xiàn)代碼缺陷的產(chǎn)品繼續(xù)流向市場。
附圖說明
圖1為本發(fā)明第一實施例中代碼缺陷的通知方法的流程圖。
圖2為本發(fā)明第二實施例中代碼缺陷的通知方法的流程圖。
圖3為本發(fā)明第三實施例中代碼缺陷的通知系統(tǒng)的結(jié)構(gòu)示意圖。
主要元件符號說明
如下具體實施方式將結(jié)合上述附圖進一步說明本發(fā)明。
具體實施方式
為了便于理解本發(fā)明,下面將參照相關(guān)附圖對本發(fā)明進行更全面的描述。附圖中給出了本發(fā)明的若干實施例。但是,本發(fā)明可以以許多不同的形式來實現(xiàn),并不限于本文所描述的實施例。相反地,提供這些實施例的目的是使對本發(fā)明的公開內(nèi)容更加透徹全面。
需要說明的是,當元件被稱為“固設(shè)于”另一個元件,它可以直接在另一個元件上或者也可以存在居中的元件。當一個元件被認為是“連接”另一個元件,它可以是直接連接到另一個元件或者可能同時存在居中元件。本文所使用的術(shù)語“垂直的”、“水平的”、“左”、“右”以及類似的表述只是為了說明的目的。
除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。本文所使用的術(shù)語“及/或”包括一個或多個相關(guān)的所列項目的任意的和所有的組合。
請參閱圖1,所示為本發(fā)明第一實施例中的代碼缺陷的通知方法的流程圖,包括步驟s01至s03。
步驟s01,獲取代碼庫內(nèi)的所有分支代碼中的缺陷子代碼,對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間,并將所述id及所述修復(fù)完成時間記錄到缺陷列表中。
可以理解的,一個代碼庫當中,通常包括多個分支代碼,而每個分支代碼當中存在多個子代碼,而在眾多的子代碼中難免會存在缺陷(如子代碼錯誤),而發(fā)送缺陷的子代碼即為所述缺陷子代碼。
在所述步驟s01當中,將獲取所述代碼庫內(nèi)所有的缺陷子代碼,而獲取的缺陷子代碼可能存在重復(fù)出現(xiàn)的現(xiàn)象,而所述步驟s01將對相同的缺陷子代碼分配一次id及修復(fù)完成時間。
需要指出的是,每種缺陷子代碼只有唯一一個id,id為對應(yīng)的缺陷子代碼的唯一身份識別碼,通過id即可查詢到對應(yīng)的缺陷子代碼。其中,對每種缺陷子代碼分配對應(yīng)的id的目的在于,通常的子代碼可能較為復(fù)雜,而id(較為簡單)用戶可以預(yù)設(shè),相比之下,通過分配id的方式來映射對應(yīng)的缺陷子代碼,便于后續(xù)的管理,同時便于作為通知信息進行發(fā)送。
具體實施時,在所述步驟s01之前,可以通過人工(工程師)或相關(guān)程序來查找所述代碼庫內(nèi)的所有分支代碼中的缺陷子代碼。
具體實施時,所述對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間的步驟可以按照以下步驟進行實施:首先按照預(yù)設(shè)的id生成方式(如數(shù)字從大到小的生成方式)對當前缺陷子代碼生成一個對應(yīng)的id,然后獲取當前時間,并在當前時間的基礎(chǔ)上增加一預(yù)設(shè)時間段,以作為所述當前缺陷子代碼的修復(fù)完成時間。
步驟s02,當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,獲取與所述任一修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù)。
其中,所述目標分支代碼是指存在所述目標缺陷子代碼的分支代碼,由于所述目標分支代碼可能存在多個分支代碼中,固所述目標分支代碼可能為多個。
可以理解的,在所述步驟s01當中,已經(jīng)對缺陷子代碼、id及修復(fù)完成時間進行了關(guān)聯(lián)對應(yīng),并存儲在所述缺陷列表中,當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,根據(jù)所述任一修復(fù)完成時間時即可獲取到對應(yīng)的缺陷子代碼及id,即所述的目標缺陷子代碼及目標id。
具體實施時,所述id將作為對應(yīng)的缺陷子代碼的修復(fù)標識,即當相關(guān)工作人員對某個分支代碼上的某個缺陷子代碼進行修復(fù)時,可以在修復(fù)完成后,在當前分支代碼上記錄當前修復(fù)的缺陷子代碼對應(yīng)的id,也就是說當修復(fù)一個缺陷子代碼時,即在對應(yīng)的分支代碼上備注對應(yīng)的id。因此所述判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù)的步驟,可以按照以下的方式進行具體實施:判斷在與所述目標缺陷子代碼相關(guān)的所有所述目標分支代碼中是否均存在所述目標id,若均存在所述目標id,則代表所述目標缺陷子代碼在所有的所述目標分支代碼中均已修復(fù),反之則代表所述目標缺陷子代碼在所有的所述目標分支代碼中未完全被修復(fù)。
當所述步驟s02判斷到在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼不是均被修復(fù)時,代表在指定的修復(fù)完成時間內(nèi),所有所述目標分支代碼中的所述目標缺陷子代碼不是均被修復(fù)(未修復(fù)或未全部修復(fù)),此時將執(zhí)行所述步驟s03,當所述步驟s02判斷到在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼均被修復(fù)時,代表在指定的修復(fù)完成時間內(nèi),所有所述目標分支代碼中的所述目標缺陷子代碼均被修復(fù),此時無需進行操作。
步驟s03,將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知。
其中,所述目標分支代碼的代號可以為所述目標分支代碼在所述代碼庫當中的名稱、編號等。
具體實施時,可以將所述目標id及未修復(fù)所述目標缺陷子代碼的目標分支代碼作為信息發(fā)送到相關(guān)人員的郵箱、手機或者電腦當中,而相關(guān)人員的郵箱、手機號可以預(yù)先存儲,或者事先與相關(guān)人員的電腦建立連接。
綜上,上述代碼缺陷的通知方法,通過獲取所述代碼庫中的所有缺陷子代碼,并對每個缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間(相同缺陷子代碼的id及修復(fù)完成時間相同),然后將所有的id及對應(yīng)的修復(fù)完成時間記錄到所述缺陷列表中,通過所述缺陷列表即可自動且及時的管控所述代碼庫中的所有缺陷子代碼,然后當當前時間達到所述缺陷列表中記錄的某個修復(fù)完成時間時,獲取與此修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù),當判斷到?jīng)]有均被修復(fù)時,將所述目標id及未修復(fù)所述目標缺陷子代碼的目標分支代碼作為信息進行通知,相關(guān)負責人根據(jù)通知信息,即可了解到,在指定期限內(nèi),仍然存在缺陷子代碼未完全修復(fù),同時還可以知道未完全被修復(fù)的缺陷子代碼的id及對應(yīng)未修復(fù)的分支代碼,因此所述代碼缺陷的通知方法能夠在當達到指定修復(fù)時間時,自動的監(jiān)測代碼缺陷是否完全修復(fù),且當對應(yīng)的代碼缺陷未完全修復(fù)時,將發(fā)送通知信息,以便于相關(guān)負責人及時處理,以存在已發(fā)現(xiàn)代碼缺陷的產(chǎn)品繼續(xù)流向市場。
請參閱圖2,所示為本發(fā)明第二實施例中代碼缺陷的通知方法的流程圖,包括步驟s11至s17。
步驟s11,獲取代碼庫內(nèi)的所有分支代碼中的缺陷子代碼,對每種所述缺陷子代碼分配對應(yīng)的id、修復(fù)完成時間及通知信息發(fā)送地址,并將所述id、所述修復(fù)完成時間及所述通知信息發(fā)送地址記錄到缺陷列表中。
其中,所述通知信息發(fā)送地址可以為相關(guān)人員的郵箱、手機或者電腦當中的至少一種。
步驟s12,當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,獲取與所述任一修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并將所述目標id備份存儲。
其中,由于每個id對應(yīng)一種缺陷子代碼,將所述目標id備份存儲的目的在于,便于后續(xù)的記錄查詢。
步驟s13,判斷在與所述目標缺陷子代碼相關(guān)的所有所述目標分支代碼中是否均存在所述目標id。
具體實施時,當相關(guān)工作人員對某個分支代碼上的某個缺陷子代碼進行修復(fù)時,可以在修復(fù)完成后,在當前分支代碼上記錄當前修復(fù)的缺陷子代碼對應(yīng)的id,也就是說當修復(fù)一個缺陷子代碼時,即在對應(yīng)的位置上備注對應(yīng)的id。因此可以通過判斷所述目標分支代碼中是否存在所述目標id的方式,來判斷所述目標分支代碼中的所述目標缺陷子代碼是否被修復(fù)。
當所述步驟s13判斷到在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中均存在所述目標id時,代表在指定的修復(fù)完成時間內(nèi),所述目標缺陷子代碼在所有的所述目標分支代碼中均被修復(fù),此時將執(zhí)行步驟s14,當所述步驟s13判斷到在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中不是均存在所述目標id時,代表在指定的修復(fù)完成時間內(nèi),所述目標缺陷子代碼在所有的所述目標分支代碼中未全部被修復(fù),此時將將執(zhí)行步驟s15至步驟s17。
步驟s14,清除所述缺陷列表中記錄的與所述目標id相關(guān)的所有內(nèi)容。
由于,所述步驟s13已經(jīng)判斷出,所述目標缺陷子代碼在所有的所述目標分支代碼中均被修復(fù),此時所述代碼庫當中將不存在所述目標缺陷子代碼,通過清除所述缺陷列表中記錄的與所述目標id相關(guān)的所有內(nèi)容,以對所述缺陷列表進行整理,而所述步驟s12已經(jīng)將所述目標id進行了存儲,因此所述步驟s14清除數(shù)據(jù)后,相關(guān)人員仍然可以通過保存的id來進行查詢。
步驟s15,在所述缺陷列表中提取與所述目標id對應(yīng)的目標通知信息發(fā)送地址。
步驟s16,將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息發(fā)送到所述目標通知信息發(fā)送地址。
步驟s17,開啟所述代碼庫的代碼修復(fù)模式,以使需要指定權(quán)限的用戶才能編輯所述代碼庫中的代碼。
需要指出的是,開啟了所述代碼庫的代碼修復(fù)模式后,除相關(guān)技術(shù)人員以外,將無法對所述代碼庫的代碼進行編輯(如調(diào)用、繼承、分發(fā)等),以強制相關(guān)技術(shù)人員對超限的缺陷子代碼進行修復(fù)。
本發(fā)明另一方面,還提供一種代碼缺陷的通知系統(tǒng),請參閱圖3,所示為本發(fā)明第三實施例中的代碼缺陷的通知系統(tǒng)的結(jié)構(gòu)示意圖,包括代碼信息記錄模塊11、判斷模塊12及通知信息發(fā)送模塊13。
所述代碼信息記錄模塊11,用于獲取代碼庫內(nèi)的所有分支代碼中的缺陷子代碼,對每種所述缺陷子代碼分配對應(yīng)的id及修復(fù)完成時間,并將所述id及所述修復(fù)完成時間記錄到缺陷列表中。
所述判斷模塊12,用于當當前時間達到所述缺陷列表中記錄的任一修復(fù)完成時間時,獲取與所述任一修復(fù)完成時間對應(yīng)的目標缺陷子代碼及目標id,并判斷在與所述目標缺陷子代碼相關(guān)的所有目標分支代碼中所述目標缺陷子代碼是否均被修復(fù)。
所述通知信息發(fā)送模塊13,用于當判斷到所述目標缺陷子代碼在所有的所述目標分支代碼中不是均被修復(fù)時,將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息進行通知。
進一步地,所述代碼缺陷的通知系統(tǒng)還包括:
地址分配記錄模塊14,用于對每種所述缺陷子代碼分配對應(yīng)的通知信息發(fā)送地址,并將所述通知信息發(fā)送地址記錄到所述缺陷列表中。
進一步地,所述通知信息發(fā)送模塊13包括:
地址獲取單元131,用于在所述缺陷列表中提取與所述目標id對應(yīng)的目標通知信息發(fā)送地址;
通知信息發(fā)送子單元132,用于將所述目標id及未修復(fù)所述目標缺陷子代碼的所有所述目標分支代碼的代號作為信息發(fā)送到所述目標通知信息發(fā)送地址。
進一步地,所述判斷模塊12包括:
判斷子單元121,用于判斷在與所述目標缺陷子代碼相關(guān)的所有所述目標分支代碼中是否均存在所述目標id。
所述代碼缺陷的通知系統(tǒng)還包括:
清除模塊15,用于當判斷到所述目標缺陷子代碼在所有的所述目標分支代碼中均被修復(fù)時,清除所述缺陷列表中記錄的與所述目標id相關(guān)的所有內(nèi)容。
所述代碼缺陷的通知系統(tǒng)還包括:
修復(fù)模塊開啟模塊16,用于當所述通知信息發(fā)送模塊13發(fā)送通知信息后,開啟所述代碼庫的代碼修復(fù)模式,以使需要指定權(quán)限的用戶才能編輯所述代碼庫中的代碼。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成。所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,包括上述方法所述的步驟。所述的存儲介質(zhì),包括:rom/ram、磁碟、光盤等。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。