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

代碼管理方法和裝置與流程

文檔序號:12818718閱讀:263來源:國知局
代碼管理方法和裝置與流程

本發(fā)明實施例涉及計算機應用技術(shù)領(lǐng)域,尤其涉及一種代碼管理方法和裝置。



背景技術(shù):

目前,計算機技術(shù)和網(wǎng)絡的迅速發(fā)展,極大地方便了人們的日常生活。在科技化的今天,為了滿足人們生活、工作、娛樂等各方面對便捷性和高效性的需求,越來越多的設備趨向于采用計算機軟件進行智能化控制。

對于電視、手機等系列開發(fā)的智能設備,往往會出現(xiàn)同一種功能模塊或者應用軟件共用一套代碼進行開發(fā)的情況。為了避免實現(xiàn)不同功能的代碼之間的相互影響,工程師新增功能的代碼或代碼塊會采用宏定義的形式表示,以防止出錯,提高可移植性,可讀性,方便性。但是,由于多人、多客戶可能會同時使用一套代碼,若宏定義對應的功能添加后未經(jīng)測試驗證,便被其他工程師使用,尤其工程師可能會對代碼進行變更,如參數(shù)替換等,導致未被測試驗證的代碼變更被引入生產(chǎn)軟件中,則生產(chǎn)軟件會存在比較嚴重質(zhì)量風險。



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

本發(fā)明提供一種代碼管理方法和裝置,以解決未經(jīng)測試驗證的代碼直接被使用導致的安全問題,實現(xiàn)代碼的自動管理,提高代碼使用的可靠性與安全性。

第一方面,本發(fā)明實施例提供了一種代碼管理方法,該方法包括:

獲取宏定義調(diào)用請求中待編譯的第一宏定義值;

當基于檢測腳本檢測到所述第一宏定義值與預先存儲的宏定義的第二宏定義值不一致時,確定所述宏定義的測驗標記參數(shù)的變化狀態(tài);

根據(jù)確定結(jié)果響應所述宏定義調(diào)用請求。

第二方面,本發(fā)明實施例還提供了一種代碼管理裝置,該裝置包括:

獲取模塊,用于獲取宏定義調(diào)用請求中待編譯的第一宏定義值;

變化狀態(tài)確定模塊,用于當基于檢測腳本檢測到所述第一宏定義值與預先存儲的宏定義的第二宏定義值不一致時,確定所述宏定義的測驗標記參數(shù)的變化狀態(tài);

響應模塊,用于根據(jù)確定結(jié)果響應所述宏定義調(diào)用請求。

本發(fā)明實施例的技術(shù)方案,在檢測到宏定義調(diào)用請求中待編譯的第一宏定義值與預先存儲的宏定義的第二宏定義值是不一致時,即宏定義被調(diào)用且發(fā)生變更時,并不是直接響應宏定義調(diào)用請求,通過確定宏定義的測驗標記參數(shù)的變化狀態(tài),確定宏定義是否經(jīng)過測驗,進而根據(jù)確定結(jié)果響應宏定義調(diào)用請求,能夠有效保證宏定義的安全調(diào)用。

附圖說明

為了更加清楚地說明本發(fā)明示例性實施例的技術(shù)方案,下面對描述實施例中所需要用到的附圖做一簡單介紹。顯然,所介紹的附圖只是本發(fā)明所要描述的一部分實施例的附圖,而不是全部的附圖,對于本領(lǐng)域普通技術(shù)人員,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖得到其他的附圖。

圖1為本發(fā)明實施例一所提供的一種代碼管理方法的流程圖;

圖2為本發(fā)明實施例二所提供的一種代碼管理方法的流程圖;

圖3為本發(fā)明實施例三所提供的一種代碼管理裝置的結(jié)構(gòu)框圖。

具體實施方式

下面結(jié)合附圖并通過具體實施方式來進一步說明本發(fā)明的技術(shù)方案??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。

在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各步驟描述成順序的處理,但是其中的許多步驟可以被并行地、并發(fā)地或者同時實施。此外,各步驟的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應于方法、函數(shù)、規(guī)程、子例程、子程序等等。

實施例一

圖1為本發(fā)明實施例一提供的一種代碼管理方法的流程圖。本實施例的方法可以由代碼管理裝置來執(zhí)行,該裝置可通過硬件和/或軟件的方式實現(xiàn),并一般可由服務器和終端配合實現(xiàn)本實施例的方法。

本實施例的方法具體包括:

s110、獲取宏定義調(diào)用請求中待編譯的第一宏定義值。

在代碼管理中,宏定義的使用可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤。尤其在程序中包含參數(shù)時,宏定義的應用使得程序調(diào)試更加方便。宏定義調(diào)用請求中通常包括用戶需求的或者調(diào)用該宏定義所需求的第一宏定義值。示例性的,第一宏定義值可以是表示宏定義括起來的代碼段中具體的一個或多個參數(shù),也可以是表示宏定義開關(guān)狀態(tài)的常量。具體地,第一宏定義值可以用數(shù)值、單詞和/或字符串等表示。

s120、當基于檢測腳本檢測到所述第一宏定義值與預先存儲的宏定義的第二宏定義值不一致時,確定宏定義的測驗標記參數(shù)的變化狀態(tài)。

為了便于程序代碼的管理和調(diào)試,通常會將可能用到的代碼塊一宏定義的形式預先存儲,而預先存儲的宏定義的第二宏定義值也就是初始設置的宏定義值或者說是默認值。由于獲取到的宏定義調(diào)用請求中包括待編譯的第一宏定義值,此時可基于檢測腳本檢測第一宏定義值與第二宏定義值是否一致,若不一致,說明用戶此時要啟用該宏定義或者要變更該宏定義的代碼。為了保證代碼的安全實用,可以進一步確定宏定義的測驗標記參數(shù)的變化狀態(tài),以確認所調(diào)用的宏定義是否通過了測試驗證。

示例性地,可以通過添加或者刪除測驗標記的方式來確定所述宏定義的測驗標記參數(shù)的變化狀態(tài)。具體可以是,對首次添加的宏定義進行未測驗標記,若檢測到所述宏定義存在所述未測驗標記,則確定所述宏定義的測驗標記參數(shù)未發(fā)生變化??梢岳斫獾氖牵捎趯甓x添加進行未測驗標記是為了區(qū)分該宏定義是否通過了測試驗證,因此一旦未通過測試驗證的宏定義通過了測試驗證則可以刪除未測驗標記或者置換為已測驗標記,檢測到宏定義存在已測驗標記,則確定所述宏定義的測驗標記參數(shù)發(fā)生變化。當然,也可以是在首次添加的宏定義時不進行任何標記,當檢測到系統(tǒng)中存在宏定義的通過測驗記錄時,為該宏定義添加已測驗標記;若檢測到宏定義存在已測驗標記,則確定所述宏定義的測驗標記參數(shù)發(fā)生變化。

考慮到宏定義調(diào)用過程中往往需要識別宏定義的存儲路徑,因此,還可以根據(jù)宏定義的存儲路徑確定宏定義的測驗標記參數(shù)的變化狀態(tài)。進一步地,在根據(jù)宏定義的存儲路徑確定宏定義的測驗標記參數(shù)的變化狀態(tài)之前,還可以包括:可以實時或者間隔設定時間獲取系統(tǒng)記錄的該宏定義的測試驗證的記錄;根據(jù)系統(tǒng)記錄的該宏定義的測試驗證的結(jié)果,對宏定義進行存儲。例如,可以創(chuàng)建不同的頭文件作為測驗標記,分別用于存儲未通過測試驗證的宏定義和已通過測試驗證的宏定義。這樣只需要識別宏定義存儲于哪個頭文件中就可以確定宏定義是否通過了測試驗證,簡單方便。

可以理解的是,以上僅僅示出了確定宏定義的測驗標記參數(shù)的變化狀態(tài)的有限幾種可行方式,并非限定。由于確定結(jié)果隨宏定義的測驗標記參數(shù)的設置和判斷標準的不同而變化。本發(fā)明目的旨在保證代碼安全實用,具體可通過宏定義的測驗標記參數(shù)確定宏定義是否經(jīng)過測試驗證,在宏定義未經(jīng)過測試驗證的情況下,提示用戶可能存在的風險,并且盡可能的調(diào)試代碼通過測試驗證后再使用,而對于已經(jīng)通過測試驗證的宏定義可以直接響應調(diào)用請求。因此,測驗標記的參數(shù)可以由用戶或者工程師根據(jù)實際需求進行設置。

s130、根據(jù)確定結(jié)果響應所述宏定義調(diào)用請求。

在本實施例中,確定結(jié)果通常包括宏定義的測驗標記參數(shù)未發(fā)生變化或者發(fā)生了變化。若確定出宏定義的測驗標記參數(shù)發(fā)生變化,則可能說明該宏定義在添加后已經(jīng)通過了測試驗證,可以直接調(diào)用該宏定義,響應宏定義中代碼段對應的功能。若確定出宏定義的測驗標記參數(shù)未發(fā)生變化,可能說明所調(diào)用的宏定義尚未通過測試驗證,則可輸出提示信息,以便用戶及時了解該宏定義當前的狀態(tài),進一步地,還可以詢問是否進行調(diào)試并測試驗證,若不進行測試驗證則提示可能存在的風險。若調(diào)試后通過測試了驗證,則可以通過修改測驗標記參數(shù),在再次調(diào)用該宏定義時,直接響應宏定義中代碼段對應的功能。

本發(fā)明實施例的技術(shù)方案,在檢測到宏定義調(diào)用請求中待編譯的第一宏定義值與預先存儲的宏定義的第二宏定義值是不一致時,即宏定義被調(diào)用且發(fā)生變更時,并不是直接響應宏定義調(diào)用請求,通過確定宏定義的測驗標記參數(shù)的變化狀態(tài),確定宏定義是否經(jīng)過測驗,進而根據(jù)確定結(jié)果響應宏定義調(diào)用請求,能夠有效保證宏定義的安全調(diào)用。

實施例二

圖2為本發(fā)明實施例二提供的代碼管理方法的流程圖,如圖2所示,本實施例在上述各實施例的基礎上,可選地,所述確定所述宏定義的測驗標記參數(shù)的變化狀態(tài)可包括:根據(jù)所述宏定義的存儲路徑確定所述宏定義的測驗標記參數(shù)的變化狀態(tài)。

在上述技術(shù)方案的基礎上,進一步地,根據(jù)確定結(jié)果響應所述宏定義調(diào)用請求具體可包括:若所述宏定義的測驗標記參數(shù)未發(fā)生變化,則輸出提示信息。

本實施例的方法具體包括:

s210、獲取宏定義調(diào)用請求中待編譯的第一宏定義值。

s220、當基于檢測腳本檢測到所述第一宏定義值與預先存儲的宏定義的第二宏定義值不一致時,根據(jù)宏定義的存儲路徑確定宏定義的測驗標記參數(shù)的變化狀態(tài)。

在本實施例中,終端或服務器可以采用宏定義的形式預先存儲一種或者多種用戶可能會用到的功能模塊,調(diào)用宏定義時只要獲取宏定義的存儲路徑即可確定宏定義的測驗標記參數(shù)的變化狀態(tài)??蛇x地,可以創(chuàng)建第一頭文件用于存儲未通過測試驗證的宏定義,創(chuàng)建第二頭文件用于存儲已經(jīng)通過了測試驗證的宏定義。具體地,若所述宏定義存在于預先創(chuàng)建好的第一頭文件中,則確定所述宏定義的測驗標記參數(shù)未發(fā)生變化,即宏定義的測驗標記參數(shù)未發(fā)生變化。若該宏定義從第一頭文件中轉(zhuǎn)存到第二頭文件中,則確定宏定義的測驗標記參數(shù)發(fā)生變化。

在代碼管理過程中,只需要根據(jù)宏定義的存儲在第一頭文件中還是第二頭文件中,即可確定宏定義的測驗標記參數(shù)的變化狀態(tài),從而確定該宏定義是否通過了測試驗證。由于在調(diào)用宏定義時可以直接獲取到宏定義的存儲路徑,因此不用增加額外的操作,即可簡單快捷地確定出宏定義是否通過了測試驗證,不僅能夠通過對代碼的質(zhì)量監(jiān)管提高宏定義的安全性,而且能夠更高效地響應用戶的宏定義調(diào)用請求。

s230、若宏定義的測驗標記參數(shù)未發(fā)生變化,則輸出提示信息。

示例性地,提示信息可以宏定義的測驗標記參數(shù)所表示的宏定義當前的狀態(tài)即自身屬性等。例如,具體可以是該宏定義未經(jīng)測試驗證,或者該宏定義已通過測試驗證等。若宏定義未經(jīng)測試驗證時還可以輸出風險提示,提醒用戶直接使用可能會存在的風險。若用戶進入調(diào)試以及測試驗證狀態(tài),還可以實時提醒用戶當前調(diào)試是否通過測試驗證等。這樣設置的好處在于,用戶或工程師可以通過提示信息及時地、直觀地了解宏定義當前的狀態(tài),提升用戶體驗。

考慮到宏定義在添加時往往未通過質(zhì)量測試驗證,而且系統(tǒng)一般會記錄宏定義的初始狀態(tài),所以若宏定義的測驗標記參數(shù)未發(fā)生變化,則可以輸出提示信息,以免用戶在不知情的情況下直接調(diào)用未通過質(zhì)量測試驗證的宏定義而對執(zhí)行設備或者終端等造成不必要的損傷。

本實施例的技術(shù)方案,通過宏定義的存儲路徑確定所述宏定義的測驗標記參數(shù)的變化狀態(tài),可以簡單快速有效地確定出宏定義是否經(jīng)過測驗,而且在宏定義的測驗標記參數(shù)未發(fā)生變化時,輸出提示信息,能夠自動發(fā)出警告、提醒用戶,有效地監(jiān)控宏定義的狀態(tài),保證宏定義安全調(diào)用,優(yōu)化代碼管理方法。

以電視機中添加dvd功能的應用場景為例,本實施例所適用的一種代碼管理方法的具體流程可陳述如下:廠商或研發(fā)工程師a考慮到客戶可能有在電視機中內(nèi)置dvd功能模塊的需求,而原來代碼不支持此功能,于是工程師a添加了此功能,并用宏定義cvt_en_dvd將實現(xiàn)dvd功能的代碼段括起來,且默認關(guān)閉這個宏定義,此時默認的宏定義值即預先存儲的第二宏定義值可以為0或false,以保證在默認情況下代碼編譯不到,不會影響到其他訂單軟件的功能。但是,該宏定義中的代碼段未經(jīng)質(zhì)量部qa測試,將未經(jīng)測試的宏定義存儲于第一頭文件global_default_draft.h中。

工程師b遇到客戶c1提出在生產(chǎn)軟件中添加內(nèi)置dvd功能模塊的需求,且工程師b發(fā)現(xiàn)現(xiàn)有的代碼中已經(jīng)存在用宏cvt_en_dvd控制的dvd功能模塊,于是直接在配置軟件時,調(diào)用該宏定義cvt_en_dvd,即直接打開cvt_en_dvd宏定義,使用這個功能,此時獲取到的宏定義待編譯的第一宏定義值可以為1或true。

由于宏定義存儲在第一頭文件global_default_draft.h中,軟件再編譯時,基于draft_check.sh檢測腳本,檢測到待編譯的生產(chǎn)軟件的cvt_en_dvd的第一宏定義值與global_default_draft.h中預先登記存儲的cvt_en_dvd的第二宏定義值不一致,則輸出提示信息,自動報警,提示軟件工程師b這個功能對應的宏定義未經(jīng)測試驗證,如果要在生產(chǎn)軟件中使用,必須先提交qa測試驗證。

工程師b把編譯出來的軟件,按系統(tǒng)提示信息的要求,提交了dvd模塊的專項測試驗證。若qa測試驗證如果發(fā)現(xiàn)問題,會要求軟件工程師b持續(xù)修改并繼續(xù)提交測試驗證。最終測試驗證通過后,工程師b或者系統(tǒng)自動將global_default_draft.h文件中的宏定義cvt_en_dvd登記到宏定義公共配置區(qū)即第二頭文件global_default_config.h中,并將global_default_draft.h文件中的宏定義cvt_en_dvd刪除。若有其他客戶需要使用dvd功能時,直接從global_default_config.h中調(diào)用宏定義即可。

需要說明的是,由于global_default_config.h中的dvd功能模塊已經(jīng)通過測試,此時無論宏定義調(diào)用請求中的宏定義的第一宏定義值是否與第二頭文件中存儲的宏定義的第二宏定義值(與第一頭文件中存儲的宏定義的第二宏定義相同)是否一致,都可以直接使用該dvd功能模塊。

該方案避免了不同軟件工程師對未經(jīng)驗證的軟件進行變更后被生產(chǎn)軟件直接使用所導致的質(zhì)量問題,通過上述代碼管理方法,實現(xiàn)了軟件變更的閉環(huán)質(zhì)量管控,保證代碼安全,同時減少了溝通成本,節(jié)省了效率。

實施例三

圖3所示為本發(fā)明實施例三提供的一種代碼管理裝置的結(jié)構(gòu)示意圖,該裝置可通過硬件和/或軟件的方式實現(xiàn),并一般可由終端和服務器配合實現(xiàn)本實施例的方法。如圖3所示,所述代碼管理裝置具體包括:獲取模塊310、變化狀態(tài)確定模塊320和響應模塊330。

其中,獲取模塊310,用于獲取宏定義調(diào)用請求中待編譯的第一宏定義值;變化狀態(tài)確定模塊320,用于當基于檢測腳本檢測到所述第一宏定義值與預先存儲的宏定義的第二宏定義值不一致時,確定所述宏定義的測驗標記參數(shù)的變化狀態(tài);響應模塊330,用于根據(jù)確定結(jié)果響應所述宏定義調(diào)用請求。

本發(fā)明實施例的技術(shù)方案,在檢測到宏定義調(diào)用請求中待編譯的第一宏定義值與預先存儲的宏定義的第二宏定義值是不一致時,即宏定義被調(diào)用且發(fā)生變更時,并不是直接響應宏定義調(diào)用請求,通過確定宏定義的測驗標記參數(shù)的變化狀態(tài),確定宏定義是否經(jīng)過測驗,進而根據(jù)確定結(jié)果響應宏定義調(diào)用請求,能夠有效保證宏定義的安全調(diào)用。

在上述技術(shù)方案的基礎上,所述變化狀態(tài)確定模塊可用于:

對首次添加的宏定義進行未測驗標記,若檢測到所述宏定義存在所述未測驗標記,則確定所述宏定義的測驗標記參數(shù)未發(fā)生變化。

在上述各技術(shù)方案的基礎上,所述變化狀態(tài)確定模塊還可用于:

根據(jù)所述宏定義的存儲路徑確定所述宏定義的測驗標記參數(shù)的變化狀態(tài)。

在上述各技術(shù)方案的基礎上,所述變化狀態(tài)確定模塊具體可用于:

若所述宏定義存在于預先創(chuàng)建好的第一頭文件中,則確定所述宏定義的測驗標記參數(shù)未發(fā)生變化。

在上述各技術(shù)方案的基礎上,所述響應模塊可用于:

若所述宏定義從第一頭文件中轉(zhuǎn)存到第二頭文件中,則確定所述宏定義的測驗標記參數(shù)發(fā)生變化。

在上述各技術(shù)方案的基礎上,所述響應模塊還可用于:

若所述宏定義的測驗標記參數(shù)發(fā)生變化,則輸出提示信息。

上述實施例中提供的代碼管理裝置及移動終端可執(zhí)行本發(fā)明任意實施例所提供的代碼管理方法,具備執(zhí)行該方法相應的功能模塊和有益效果。未在上述實施例中詳盡描述的技術(shù)細節(jié),可參見本發(fā)明任意實施例所提供的代碼管理方法。

注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

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