一種代碼資源管理方法、裝置及系統與流程
2023-05-31 06:57:26 1
本申請涉及計算機數據信息管理技術領域,特別涉及一種代碼資源管理方法、裝置及系統。
背景技術:
在集成開發環境(integrateddevelopmentenvironment,ide)進行軟體開發的過程中,通常有很多可以復用的代碼,比如:設計模式類代碼、業務相近的代碼等等,開發人員在不同的場景下可能要反覆寫同樣結構甚至同樣內容的代碼,代碼資源的有效管理可以使得代碼資源能夠被便捷的復用起來。
現有的代碼資源的管理方法包括採用項目管理工具的方法,例如maven、cocoapods等項目管理工具。其中,maven是一個項目管理工具,它包含了一個項目對象模型(projectobjectmodel),一組標準集合,一個項目生命周期(projectlifecycle),一個依賴管理系統(dependencymanagementsystem),和用來運行定義在生命周期階段中插件目標的邏輯。使用maven時,可以用一個明確定義的項目對象模型來描述項目,然後maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。cocoapods可以解決庫與庫之間的依賴關係,下載庫的原始碼,同時通過創建一個xcode(xcode是運行在作業系統macosx上的集成開發工具)的workspace(工作區),用於將第三方庫和開發人員的工程項目連接起來,供開發人員開發使用。
但是,現有的用於代碼資源管理的項目管理工具,其管理的粒度為「庫」,開發人員復用代碼資源時只能實現整個庫的代碼的復用,而不能實現一個項目模板或者一個代碼片段的復用。
技術實現要素:
本申請實施例的目的是提供一種代碼資源管理方法及系統,以提高代碼資源的復用性。
為解決上述技術問題,本申請實施例提供一種代碼資源管理方法及系統是這樣實現的:
一種代碼資源管理方法,包括:
獲取代碼資源文件及其屬性信息;
根據所述代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息;
根據所述代碼資源文件的粒度信息,存儲所述代碼資源文件;
接收用戶發來的管理所述代碼資源文件的資源管理請求;
根據所述資源管理請求,確定與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作。
一種代碼資源管理系統,包括:至少一個代碼資源庫、代碼資源管理裝置和至少一個開發工具;其中,
所述代碼資源庫,用於存儲不同用戶輸入的代碼資源文件;所述代碼資源庫還用於接收代碼資源管理裝置發來的更新請求,根據所述更新請求生成反饋信息;所述反饋信息包括:資源文件更新信息,或者,用於表示沒有更新的第一報告;所述代碼資源庫還用於發送與資源文件更新信息對應的資源文件至代碼資源管理裝置;
所述代碼資源管理裝置,用於獲取代碼資源文件及其屬性信息,根據所述代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息,根據所述代碼資源文件的粒度信息,存儲所述代碼資源文件;所述代碼資源管理裝置,還用於接收用戶發來的管理所述代碼資源文件的資源管理請求;根據所述資源管理請求,確定與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作;所述操作包括:將所述第一資源文件安裝或更新到開發工具的指定路徑中,或者,從所述開發工具的指定路徑中卸載所述第一資源文件。
一種代碼資源管理裝置,包括:代碼資源文件獲取模塊、粒度信息確定模塊、存儲模塊、資源管理請求接收模塊和管理操作模塊;其中,
所述代碼資源文件獲取模塊,用於獲取代碼資源文件及其屬性信息;所述屬性信息包括:所述代碼資源文件的名稱、版本信息、文件格式;
所述粒度信息確定模塊,用於根據所述代碼資源文件獲取模塊獲取的代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息;
所述存儲模塊,用於根據所述粒度信息確定模塊確定的代碼資源文件的粒度信息,存儲所述代碼資源文件;
所述資源管理請求接收模塊,用於接收用戶發來的管理所述代碼資源文件的資源管理請求;所述資源管理請求包括:資源文件粒度信息、資源文件名稱、資源文件版本信息和管理操作信息;所述操作信息包括:操作內容和指定路徑;所述操作包括:安裝、更新或卸載;
所述管理操作模塊,用於根據所述資源管理請求接收模塊接收的資源管理請求,確定與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作。
由以上本申請實施例提供的技術方案可見,本申請實施例提供的代碼資源管理方法、裝 置及系統,對代碼資源文件按不同粒度進行管理,通過對所述代碼資源文件進行粒度的劃分,可以根據用戶的不同需要提供不同粒度的代碼資源文件,提高了代碼資源的復用性,也可以提高代碼資源的規範性。該代碼資源管理方法以開發人員作為服務對象,可以保證開發人員便捷使用。同時,將代碼資源文件進行粒度劃分進行管理,可以使代碼資源文件的使用不局限於整個項目層面的使用,可以更加方便開發人員的操作。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本申請一個代碼資源管理方法實施例的流程圖;
圖2是本申請一個代碼資源管理系統實施例的模塊圖;
圖3是本申請一個代碼資源管理裝置實施例的模塊圖。
具體實施方式
本申請實施例提供一種代碼資源管理方法、裝置及系統。
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
圖1是本申請一個代碼資源管理方法實施例的流程圖。如圖1所示,所述代碼資源管理方法可以包括:
s101:獲取代碼資源文件及其屬性信息。
代碼資源管理裝置可以獲取代碼資源文件及其屬性信息。所述屬性信息可以包括:所述代碼資源文件的名稱、版本信息和文件格式。
所述代碼資源文件可以從代碼資源庫中獲取。一個代碼資源管理裝置可以對應一個或多個代碼資源庫。所述代碼資源庫可以用於存儲開發人員編寫的代碼資源文件。
s102:根據所述代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息。
所述粒度信息可以用於對上述代碼資源文件進行劃分。例如,所述粒度信息可以包括: 項目模板、文件模板或代碼片段。通過對所述代碼資源文件進行粒度的劃分,可以根據用戶的不同需要提供不同粒度的代碼資源文件。例如,用戶可以根據需要多次重複使用項目模板的代碼,也可以根據需要重複使用項目模板中的某個代碼片段。因此,通過該技術可以提高代碼資源的復用性,也可以提高代碼資源的規範性。
根據所述代碼資源文件的屬性信息可以確定所述代碼資源文件的粒度信息。具體地,所述文件格式與所述粒度信息之間可以具有預設的對應關係。根據所述代碼資源文件的文件格式可以確定所述代碼資源文件的粒度信息。
s103:根據所述代碼資源文件的粒度信息,存儲所述代碼資源文件。
根據所述代碼資源的粒度信息,可以存儲所述代碼資源。例如,可以將粒度信息相同的代碼資源文件存儲在相同的路徑中。
s104:接收用戶發來的管理所述代碼資源文件的資源管理請求。
代碼資源管理裝置可以接收用戶發來的管理所述代碼資源文件的資源管理請求。
所述資源管理請求可以包括:資源文件粒度信息、資源文件名稱、資源文件版本信息和管理操作信息等。
根據所述資源文件粒度信息、資源文件名稱和所述資源文件版本信息,可以查找到所述代碼資源文件。
所述管理操作信息可以用於描述對所述查找到的代碼資源文件的操作。
所述操作信息可以包括:操作內容和指定路徑。
所述操作內容可以包括:安裝、更新或卸載。所述安裝可以是:將所述代碼資源文件存儲至指定路徑。所述更新可以是:將更新後的代碼資源文件存儲至指定路徑。所述卸載可以是:從所述指定路徑中刪除所述代碼資源文件。
所述指定路徑可以是指定的開發工具用於存儲代碼資源文件的地址。
s105:根據所述資源管理請求,確定與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作。
根據所述資源管理請求,可以確定與所述資源管理請求對應的第一代碼資源文件。具體地,可以根據所述資源管理請求的資源文件粒度信息、資源文件名稱、資源文件版本信息中的至少一項信息確定第一代碼資源文件。
可以對所述第一代碼資源文件進行操作。可以包括:將所述第一資源文件安裝或更新到 指定開發工具的指定路徑中,或者,從所述指定開發工具的指定路徑中卸載所述第一資源文件。
一個代碼資源管理裝置可以對應有一個或多個開發工具。例如,可以將一個資源文件分別安裝到多個開發工具的制定路徑中。
在另一個實施方式中,所述方法還可以包括:接收用戶發來的資源同步命令,根據所述資源同步命令,更新所述代碼資源管理裝置中的代碼資源文件。
具體地,可以包括:
首先可以接收用戶發來的資源同步命令;所述資源同步命令可以包括待同步的資源庫信息。例如,可以包括待同步的資源庫的地址,或者,待同步資源庫的名稱。
然後,可以向所述待同步資源庫發送更新請求,接收所述待同步資源庫發來的反饋信息。
所述更新請求可以用於詢問待同步資源庫是否有待更新的代碼資源文件。所述反饋信息可以包括:資源文件更新信息,或者,用於表示沒有更新資源文件的第一報告。所述資源文件更新信息用於描述所述待同步資源庫中發生了變化的代碼資源文件。所述資源文件更新信息可以包括:待處理的代碼資源文件及其對應的處理方式。所述處理方式可以包括:新增、修改和刪除。例如:新增的代碼資源文件、修改了的代碼資源文件或刪除了的代碼資源文件。
最後,可以根據所述資源文件更新信息對與所述資源文件更新信息對應的代碼資源文件進行操作。具體地,當所述待處理的方式為新增時,可以獲取所述待處理的代碼資源文件,並將所述代碼資源文件存儲起來;當所述待處理的方式為修改時,可以獲取所述待處理的代碼資源文件,並將所述待處理的代碼資源文件覆蓋相應的原代碼資源文件;當所述待處理的方式為刪除時,可以將存儲的所述待處理的代碼資源文件刪除。
上述實施例提供的代碼資源管理方法,對代碼資源文件按不同粒度進行管理,通過對所述代碼資源文件進行粒度的劃分,可以根據用戶的不同需要提供不同粒度的代碼資源文件,提高了代碼資源的復用性,也可以提高代碼資源的規範性。不同於現有的項目管理工具將項目作為服務對象,該代碼資源管理方法以開發人員作為服務對象,可以保證開發人員便捷使用。同時,將代碼資源文件進行粒度劃分進行管理,可以使代碼資源文件的使用不局限於整個項目層面的使用,可以更加方便開發人員的操作。
下面接收本申請的代碼資源管理系統實施例。圖2是本申請一個代碼資源管理系統實施例的模塊圖。如圖2所示,所述代碼資源管理系統可以包括:至少一個代碼資源庫100、代碼 資源管理裝置200和至少一個開發工具300。
所述代碼資源庫100,可以用於存儲不同用戶輸入的代碼資源文件。所述代碼資源庫100還可以用於接收代碼資源管理裝置200發來的更新請求,根據所述更新請求生成反饋信息。所述更新請求可以用於詢問待同步資源庫是否有待更新的代碼資源文件。所述反饋信息可以包括:資源文件更新信息,或者,用於表示沒有更新的第一報告。所述代碼資源庫100還可以用於發送與資源文件更新信息對應的資源文件至代碼資源管理裝置200。
所述代碼資源管理裝置200,可以用於獲取代碼資源文件及其屬性信息,根據所述代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息,根據所述代碼資源文件的粒度信息,存儲所述代碼資源文件。所述代碼資源管理裝置200,還可以用於接收用戶發來的管理所述代碼資源文件的資源管理請求;根據所述資源管理請求,確定與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作。所述操作包括:將所述第一資源文件安裝或更新到開發工具300的指定路徑中,或者,從所述開發工具300的指定路徑中卸載所述第一資源文件。
所述資源管理裝置200還可以用於,接收用戶發來的資源同步命令,根據所述資源同步命令,更新所述資源管理裝置200中的代碼資源文件。
圖3是本申請一個代碼資源管理裝置實施例的模塊圖。如圖2所示,所述代碼資源管理裝置200可以包括:代碼資源文件獲取模塊201、粒度信息確定模塊202、存儲模塊203、資源管理請求接收模塊204和管理操作模塊205。其中,
所述代碼資源文件獲取模塊201,可以用於獲取代碼資源文件及其屬性信息。所述屬性信息可以包括:所述代碼資源文件的名稱、版本信息、文件格式。
所述粒度信息確定模塊202,可以用於根據所述代碼資源文件獲取模塊201獲取的代碼資源文件的屬性信息確定所述代碼資源文件的粒度信息。具體地,所述文件格式與所述粒度之間可以具有預設的對應關係。根據所述代碼資源文件的文件格式可以確定所述代碼資源文件的粒度信息。所述粒度信息可以包括:項目模板、文件模板或代碼片段。
所述存儲模塊203,可以用於根據所述粒度信息確定模塊202確定的代碼資源文件的粒度信息,存儲所述代碼資源文件。
所述資源管理請求接收模塊204,可以用於接收用戶發來的管理所述代碼資源文件的資源管理請求。所述資源管理請求可以包括:資源文件粒度信息、資源文件名稱、資源文件版本信息和管理操作信息等。所述管理操作信息可以用於描述對所述查找到的資源管理文件的操作。所述操作信息可以包括:操作內容和指定路徑。所述操作可以包括:安裝、更新或卸 載。所述指定路徑可以是指定的開發工具用於存儲代碼資源文件的地址。
所述管理操作模塊205,可以用於根據所述資源管理請求接收模塊204接收的資源管理請求,確定所述存儲模塊203中與所述資源管理請求對應的第一代碼資源文件;對所述第一代碼資源文件進行操作。具體地,可以根據所述資源管理請求的資源文件粒度信息、資源文件名稱、資源文件版本信息中的至少一項信息確定第一代碼資源文件。將所述第一資源文件安裝或更新到指定開發工具的指定路徑中,或者,從所述指定開發工具的指定路徑中卸載所述第一資源文件。
在另一個實施方式中,所述代碼資源管理裝置還可以包括:同步模塊,用於接收用戶發來的資源同步命令,根據所述資源同步命令,更新所述存儲模塊203中的代碼資源文件。
上述實施例公開的資源管理裝置實施例與本申請公開的方法實施例相對應,可以實現本申請方法實施例,並取得方法實施例的技術效果,本申請在此不再贅述。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模塊來實現。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設計人員自行編程來把一個數字系統「集成」在一片pld上,而不需要請晶片製造廠商來設計和製作專用的集成電路晶片2。而且,如今,取代手工地製作集成電路晶片,這種編程也多半改用「邏輯編譯器(logiccompiler)」軟體來實現,它與程序開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式語言來撰寫,此稱之為硬體描述語言(hardwaredescriptionlanguage,hdl),而hdl也並非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog2。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯編程並編程到集成電路中,就可以很容易得到實現該邏輯方法流 程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及存儲可由該(微)處理器執行的計算機可讀程序代碼(例如軟體或固件)的計算機可讀介質、邏輯門、開關、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現為存儲器的控制邏輯的一部分。
本領域技術人員也知道,除了以純計算機可讀程序代碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模塊又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模塊或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。該計算機軟體產品可以包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。該計算機軟體產品可以存儲在內存中,內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或快閃記憶體(flashram)。內存是計算機可讀介質的示例。計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任 何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括短暫電腦可讀媒體(transitorymedia),如調製的數據信號和載波。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本申請可用於眾多通用或專用的計算機系統環境或配置中。例如:個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、置頂盒、可編程的消費電子設備、網絡pc、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。
雖然通過實施例描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權利要求包括這些變形和變化而不脫離本申請的精神。