本發明涉及計算機領域,具體而言,涉及一種代碼生成方法及其裝置。
背景技術:
隨著互聯網技術的發展與普及,越來越多的公司利用互聯網技術進行日常的工作,如用于公司內部作業的OA辦公系統、對外的網絡宣傳系統等。各系統中均包含由公司內部自行開發或委托其他軟件公司開發的相應應用模塊。而由于軟件開發人員的技術背景、編程習慣或能力的不同,往往其開發的應用模塊所使用的編程語言、接口均不同,這就為整合各應用模塊到公司統一操作平臺時帶來了諸多困難。
技術實現要素:
本發明的一個主要目的在于克服上述現有技術的至少一種缺陷,提供一種代碼生成方法。
本發明的另一個主要目的在于克服上述現有技術的至少一種缺陷,提供一種代碼生成裝置。
本發明的額外方面和優點將部分地在下面的描述中闡述,并且部分地將從描述中變得顯然,或者可以通過本發明的實踐而習得。
為實現上述發明目的,本發明采用如下技術方案:
根據本發明的一個方面,提供了一種代碼生成方法,包括:接收用戶輸入的執行指令;根據所述執行指令,調用流程文件及配置文件,其中所述流程文件為預先定義的;基于所述流程文件,讀取所述配置文件中的信息,并根據所述配置文件中的信息,依次讀取預先定義的模板文件中的至少一個代碼模板;以及根據所述至少一個代碼模板,生成相應的代碼文件。
于一實施方式中,該代碼生成方法還包括:接收用戶根據其需求輸入的所述配置文件中的信息。
于另一實施方式中,所述配置文件中的信息包括:至少一個對應于待生成的所述代碼文件的任務信息、待生成的所述代碼文件的名稱、待生成的所述代碼文件的存儲地址和待生成的所述代碼文件的語言類型中的至少其中之一。
于再一實施方式中,所述任務信息包括:待訪問數據庫的類型、待訪問數據庫的地址、根據從所述數據庫中讀取的數據而創建的數據文件和對所述數據文件的操作任務類型中的至少其中之一。
于再一實施方式中,所述用戶輸入的執行指令包括:用戶輸入的執行預先定義的批處理文件的指令。
于再一實施方式中,所述至少一個代碼模板包括:由JAVA語言編寫的和/或由C語言編寫的、用于執行至少一個任務的代碼模板。
于再一實施方式中,所述流程文件包括:函數名、函數調用信息和函數實現中的至少其中之一。
于再一實施方式中,所述流程文件和所述模板文件封裝為jar文件。
于再一實施方式中,生成的所述代碼文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和與數據庫交互相關的JAVA文件中的至少其中之一。
根據本發明的另一方面,提供了一種代碼生成裝置,包括:接口模塊,用于接收用戶輸入的執行指令;文件調用模塊,用于根據所述執行指令,調用流程文件及配置文件,其中所述流程文件為預先定義的;文件讀取模塊,用于基于所述流程文件,讀取所述配置文件中的信息,并根據所述配置文件中的信息,依次讀取預先定義的模板文件中的至少一個代碼模板;以及代碼生成模塊,用于根據所述至少一個代碼模板,生成相應的代碼文件。
于一實施方式中,該代碼生成裝置還包括:文件配置模塊,用于接收用戶根據其需求輸入的所述配置文件中的信息。
于另一實施方式中,所述配置文件中的信息包括:至少一個對應于待生成的所述代碼文件的任務信息、待生成的所述代碼文件的名稱、待 生成的所述代碼文件的存儲地址和待生成的所述代碼文件的語言類型中的至少其中之一。
于再一實施方式中,所述任務信息包括:待訪問數據庫的類型、待訪問數據庫的地址、根據從所述數據庫中讀取的數據而創建的數據文件和對所述數據文件的操作任務類型中的至少其中之一。
于再一實施方式中,所述用戶輸入的執行指令包括:用戶輸入的執行預先定義的批處理文件的指令。
于再一實施方式中,所述至少一個代碼模板包括:由JAVA語言編寫的和/或由C語言編寫的、用于執行至少一個任務的代碼模板。
于再一實施方式中,所述流程文件包括:函數名、函數調用信息和函數實現中的至少其中之一。
于再一實施方式中,所述流程文件和所述模板文件封裝為jar文件。
于再一實施方式中,生成的所述代碼文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和與數據庫交互相關的JAVA文件中的至少其中之一。
由上述技術方案可知,本發明的代碼生成方法及其裝置的優點和積極效果在于:通過采用預先定義的流程文件和模板文件及可根據用戶需要進行配置的配置文件,基于用戶需求,生成執行相應任務的、規范的代碼文件。從而一方面減輕了代碼開發人員的工作量,節省了時間和精力,提高了工作效率;另一方面,解決了系統各應用模塊代碼不夠統一、規范的問題。
附圖說明
通過結合附圖考慮以下對本發明的優選實施例的詳細說明,本發明的各種目標、特征和優點將變得更加顯而易見。其中:
圖1是根據一示例性實施方式示出的一種代碼生成方法的流程圖。
圖2是根據一示例性實施方式示出的另一種代碼生成方法的流程圖。
圖3是根據一示例性實施方式示出的一種代碼生成裝置的結構圖。
具體實施方式
現在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的實施方式;相反,提供這些實施方式使得本發明將全面和完整,并將示例實施方式的構思全面地傳達給本領域的技術人員。圖中相同的附圖標記表示相同或類似的結構,因而將省略它們的詳細描述。
所描述的特征、結構或特性可以以任何合適的方式結合在一個或更多實施方式中。在下面的描述中,提供許多具體細節從而給出對本發明的實施方式的充分理解。然而,本領域技術人員將意識到,可以實踐本發明的技術方案而沒有所述特定細節中的一個或更多,或者可以采用其它的方法、組件等。在其它情況下,不詳細示出或描述公知結構或者操作以避免模糊本發明的各方面。
圖1是根據一示例性實施方式示出的一種代碼生成方法的流程圖。如圖1所示,代碼生成方法10包括:
步驟S110,接收用戶輸入的執行指令。
例如,可通過用戶界面,接收用戶通過鍵盤、鼠標等輸入工具輸入的執行指令。
步驟S120,根據執行指令,調用流程文件及配置文件。
其中,流程文件為預先定義的,例如可由至少一個函數而構成,各函數包括:函數名稱,函數調用信息和函數實現中的部分或全部。當有多個函數時,一個函數實現還可以包括調用所定義的其他函數等。
配置文件可由用戶根據其需求輸入相關信息而生成,從而使得本發明可提供一種按需的代碼生成方法。
步驟S130,基于流程文件,讀取配置文件中的信息,并根據配置文件中的信息,依次讀取預先定義的模板文件中的至少一個代碼模板。
其中,模板文件同為預先定義的,包括至少一個代碼模板。這些代碼模板對應于所需執行的不同任務,各模板可以僅由一種程序語言所編寫,也可為由不同程序語言所編寫。
步驟S140,根據至少一個代碼模板,生成相應的代碼文件。
將讀取的代碼模板,生成相應的代碼文件。其中,代碼文件的名稱、存儲地址等可由用戶在配置文件中進行配置。
本發明提供的代碼生成方法通過采用預先定義的流程文件和模板文件及可根據用戶需要進行配置的配置文件,基于用戶需求,生成執行相應任務的、規范的代碼文件。從而一方面減輕了代碼開發人員的工作量,節省了時間和精力,提高了工作效率;另一方面,解決了系統各應用模塊代碼不夠統一、規范的問題。
圖2是根據一示例性實施方式示出的另一種代碼生成方法的流程圖。如圖2所示,代碼生成方法20包括:
步驟S210,接收用戶根據其需求輸入的配置文件中的配置信息。
配置文件中的內容可由用戶根據其需求進行配置,例如可以包括:至少一個對應于待生成的代碼文件的任務信息、待生成的代碼文件的名稱、待生成的代碼文件的存儲地址和待生成的代碼文件的語言類型的部分或全部。
上述任務信息例如可以包括:待訪問數據庫的類型、待訪問數據庫的地址、根據從該數據庫中讀取的數據而創建的數據文件及對該數據文件的操作任務類型的部分或全部。
該數據庫類型例如可以包括MySQL數據庫、Oracle數據庫和IBM DB2數據庫等。數據庫地址例如為待訪問數據庫的URL(Uniform Resoure Locator,統一資源定位符)。此外,如待訪問的數據庫中還需要登錄所需的用戶名和密碼,也可由用戶在配置文件中進行配置。
根據從數據庫中讀取的數據而創建一數據文件,該數據文件例如可以為一數據表。以數據文件為數據表為例,該數據文件的操作任務例如包括:對該數據表進行增、刪、改、查操作、創建一網頁來呈現該數據表的操作。
此外,以JAVA程序為例,配置文件中還可以配置該數據表對應的的JavaBean名稱,并根據該數據表設置其主鍵字段。
步驟S220,接收用戶輸入的執行預先定義的批處理文件的指令。
通過用戶界面,用戶例如通過雙擊該預先定義的批處理文件的圖標等操作來執行該批處理文件。當接收到用戶輸入的執行該批處理文件的指令后,執行該批處理文件。批處理文件為預先定義的,并且可以在編寫好后固定下來,在之后的使用中無需再修改。
步驟S230,根據該指令,調用流程文件及配置文件。
執行批處理文件,從而執行調用流程文件和上述配置文件的操作。其中流程文件也為一預先定義好的文件,例如可由至少一個函數而構成,各函數包括:函數名稱,函數調用信息和函數實現中的部分或全部。當有多個函數時,一個函數實現還可以包括調用所定義的其他函數等。
步驟S240,基于流程文件,讀取配置文件中的信息,并根據配置文件中的信息,依次讀取預先定義的模板文件中的至少一個代碼模板。
在流程文件中,基于其中包括的至少一個函數的執行順序,定義出了讀取配置文件信息,并根據配置文件信息讀取代碼模板的順序。因此在執行流程文件中的至少一個函數時,讀取配置文件中的相應信息,并根據讀取的配置信息,依次讀取模板文件中的至少一個代碼模板。
模板文件同為預先定義的,可以在編寫好后固定下來,而無需每次均對其進行修改。模板文件中的至少一個代碼模板對應于所需執行的不同任務,包括用于執行至少一個任務的代碼模板。例如如果配置信息中包括對上述數據表進行增、刪、改、查的任務,則根據流程文件定義的順序,依次讀取執行對數據表進行增、刪、改、查的代碼模板。各代碼模板可以僅由一種程序語言所編寫,也可為由不同程序語言所編寫。例如可以包括由JAVA語言編寫的代碼模板和/或由C語言編寫的代碼模板。
在一些實施例中,也可以將每個代碼模板分別存儲到不同模板文件中,本發明不以此為限。
步驟S250,根據讀取的至少一個代碼模板,生成相應的代碼文件。
將讀取的至少一個代碼模板,生成相應的代碼文件。仍以配置信息包括對上述數據表進行增、刪、改、查的任務為例,當依次讀取了對應增、刪、改、查任務對應的代碼模板后,依次生成執行對數據表進行增、刪、改、查的代碼,并最終形成相應的代碼文件。代碼文件既可以為由執行不同任務對應代碼的不同的文件,也可以統一在一個文件中,生成包括可執行多個任務的多組代碼。
在一些實施例中,代碼文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和與數據庫交互相關的JAVA文件中的至少其中之一。其 中JAVA前端主要負責開發呈現給用戶的頁面,后端則主要負責對業務的控制和處理等。上述與數據庫交互包括MyBatis技術。
在一些實施例中,上述流程文件和模板文件可封裝于jar文件中,從而通過上述批處理文件進行調用。
本發明提供的代碼生成方法通過采用預先定義的流程文件和模板文件及可根據用戶需要進行配置的配置文件,基于用戶需求,生成執行相應任務的、規范的代碼文件。從而一方面減輕了代碼開發人員的工作量,節省了時間和精力,提高了工作效率;另一方面,解決了系統各應用模塊代碼不夠統一、規范的問題。
本領域技術人員可以理解實現上述實施例的全部或部分步驟被實現為由CPU執行的計算機程序。在該計算機程序被CPU執行時,執行本發明提供的上述方法所限定的上述功能。所述的程序可以存儲于一種計算機可讀存儲介質中,該存儲介質可以是只讀存儲器,磁盤或光盤等。
下述為本發明裝置實施例,可以用于執行本發明提供的上述方法實施例。對于本發明裝置實施例中未披露的細節,請參照上述方法實施例。
圖3是根據一示例性實施方式示出的一種代碼生成裝置的結構圖。如圖3所示,代碼生成裝置30包括:接口模塊310、文件調用模塊320、文件讀取模塊330及代碼生成模塊340。
其中,接口模塊310用于接收用戶輸入的執行指令。例如,可通過用戶界面,接收用戶通過鍵盤、鼠標等輸入工具輸入的執行指令。
在一些實施例中,該執行指令包括:用戶輸入的執行預先定義的批處理文件的指令。通過用戶界面,用戶例如通過雙擊該預先定義的批處理文件的圖標等操作來執行該批處理文件。當接收到用戶輸入的執行該批處理文件的指令后,執行該批處理文件。批處理文件為預先定義的,并且可以在編寫好后固定下來,在之后的使用中無需再修改。
需要說明的是,上述執行批處理文件僅為一示例說明,而非限制本發明。本領域技術人員應該理解,也可以將批處理文件替換為EXE文件等可執行文件。或者,也可以通過一個設計的用戶界面,使用戶點擊其中的某個選項來達到執行該指令的目的。
文件調用模塊320用于根據執行指令,調用流程文件及配置文件,其中流程文件為預先定義的。
例如,執行上述批處理文件,從而執行調用流程文件和上述配置文件的操作。其中流程文件也為一預先定義好的文件,例如可由至少一個函數而構成,各函數包括:函數名稱,函數調用信息和函數實現中的部分或全部。當有多個函數時,一個函數實現還可以包括調用所定義的其他函數等。
文件讀取模塊330用于基于流程文件,讀取配置文件中的信息,并根據配置文件中的信息,依次讀取預先定義的模板文件中的至少一個代碼模板。
在流程文件中,基于其中包括的至少一個函數的執行順序,定義出了讀取配置文件信息,并根據配置文件信息讀取代碼模板的順序。因此在執行流程文件中的至少一個函數時,讀取配置文件中的相應信息,并根據讀取的配置信息,依次讀取模板文件中的至少一個代碼模板。
模板文件同為預先定義的,可以在編寫好后固定下來,而無需每次均對其進行修改。模板文件中的至少一個代碼模板對應于所需執行的不同任務,包括用于執行至少一個任務的代碼模板。例如如果配置信息中包括對上述數據表進行增、刪、改、查的任務,則根據流程文件定義的順序,依次讀取執行對數據表進行增、刪、改、查的代碼模板。各代碼模板可以僅由一種程序語言所編寫,也可為由不同程序語言所編寫。例如可以包括由JAVA語言編寫的代碼模板和/或由C語言編寫的代碼模板。在一些實施例中,也可以將每個代碼模板分別存儲到不同模板文件中,本發明不以此為限。
代碼生成模塊340用于根據至少一個代碼模板,生成相應的代碼文件。將讀取的至少一個代碼模板,生成相應的代碼文件。
例如,仍以配置信息包括對上述數據表進行增、刪、改、查的任務為例,當依次讀取了對應增、刪、改、查任務對應的代碼模板后,依次生成執行對數據表進行增、刪、改、查的代碼,并最終形成相應的代碼文件。代碼文件既可以為由執行不同任務對應代碼的不同的文件,也可以統一在一個文件中,生成包括可執行多個任務的多組代碼。
在一些實施例中,代碼文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和與數據庫交互相關的JAVA文件中的至少其中之一。其中JAVA前端主要負責開發呈現給用戶的頁面,后端則主要負責對業務的控制和處理等。上述與數據庫交互包括MyBatis技術。
在一些實施例中,上述流程文件和模板文件可封裝于jar文件中,從而通過上述批處理文件進行調用。
此外,代碼生成裝置30還可以包括:文件配置模塊350,用于接收用戶根據其需求輸入的所述配置文件中的信息。
配置文件中的內容可由用戶根據其需求進行配置,例如可以包括:至少一個對應于待生成的代碼文件的任務信息、待生成的代碼文件的名稱、待生成的代碼文件的存儲地址和待生成的代碼文件的語言類型的部分或全部。
上述任務信息例如可以包括:待訪問數據庫的類型、待訪問數據庫的地址、根據從該數據庫中讀取的數據而創建的數據文件及對該數據文件的操作任務類型的部分或全部。
該數據庫類型例如可以包括MySQL數據庫、Oracle數據庫和IBM DB2數據庫等。數據庫地址例如為待訪問數據庫的URL(Uniform Resoure Locator,統一資源定位符)。此外,如待訪問的數據庫中還需要登錄所需的用戶名和密碼,也可由用戶在配置文件中進行配置。
根據從數據庫中讀取的數據而創建一數據文件,該數據文件例如可以為一數據表。以數據文件為數據表為例,該數據文件的操作任務例如包括:對該數據表進行增、刪、改、查操作、創建一網頁來呈現該數據表的操作。
在一些實施例中,以JAVA程序為例,配置文件中還可以配置該數據表對應的的JavaBean名稱,并根據該數據表設置其主鍵字段。
本發明提供的代碼生成裝置通過采用預先定義的流程文件和模板文件及可根據用戶需要進行配置的配置文件,基于用戶需求,生成執行相應任務的、規范的代碼文件。從而一方面減輕了代碼開發人員的工作量,節省了時間和精力,提高了工作效率;另一方面,解決了系統各應用模塊代碼不夠統一、規范的問題。
需要說明的是,上述實施例提供的代碼生成裝置在生成代碼時,僅以上述各功能模塊的劃分進行舉例說明。而實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,以完成上述的全部或者部分功能。
以上具體地示出和描述了本發明的示例性實施方式。應該理解,本發明不限于所公開的實施方式,相反,本發明意圖涵蓋包含在所附權利要求范圍內的各種修改和等效置換。