[發明專利]一種程序代碼自動生成方法無效
申請號: | 201110361544.7 | 申請日: | 2011-11-14 |
公開(公告)號: | CN102508669A | 公開(公告)日: | 2012-06-20 |
發明(設計)人: | 嚴偉強;田文;李紡 | 申請(專利權)人: | 浙江鴻程計算機系統有限公司 |
主分類號: | G06F9/44 | 分類號: | G06F9/44 |
代理公司: | 暫無信息 | 代理人: | 暫無信息 |
地址: | 310013 浙江*** | 國省代碼: | 浙江;33 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 程序代碼 自動 生成 方法 | ||
技術領域
本發明涉及支持各種開發語言開源框架的一種程序代碼自動生成方法。
背景技術
當前軟件開發過程中,開發人員往往要書寫大量的重復代碼。例如在目前普遍使用的分層開發模式下對表進行增加、刪除、修改和查詢操作,都是業務層接口向持久層接口進行調用,大部分代碼都是相同的,但是因類名等的不同,往往需要在開發過程中運用復制、粘貼、修改這樣的粘貼式編程方式,不僅繁瑣而且容易出錯。而當前流行的各種集成開發環境(IDE)及工具雖然可以智能自動生成部分代碼,但由于開發需要和開發框架等的不同,這樣的智能適應性仍比較弱。
發明內容
本發明為克服現有開發過程中存在的不足之處,目的在于提供一種程序代碼自動生成方法,該方法通過分析當前各種開發語言和開發框架在開發過程中的重復代碼,根據重復代碼是有規則的且可定制的共同特點進行設計,把重復代碼及規則定義到模板文件中進行自動生成,避免了開發人員重復代碼的編寫,大大提高了開發效率,解決了現有技術中存在的問題。
本發明是通過以下技術方案達到上述目的:一種程序代碼自動生成方法,
包括功能模板文件編寫、生成計劃定義、參數定義和生成計劃執行四個過程,其中:功能模板文件編寫過程包括以下步驟:
1)按照開發語言的語法編寫各功能模板文件內容;
2)將文件內容中發生變化的部分通過參數變量形式進行設置;
模板文件是生成最后代碼文件的源頭,編寫時可以將用戶的開發規范體現在文本內容中;
生成計劃定義過程定義使用哪個功能模板文件、參數定義配置文件以及最終生成的文件存儲地址;生成計劃可以包含多個生成任務,一個生成任務需要指定模板文件和最終生成的文件的存儲地址。生成計劃主要定義的內容為參數定義配置文件所在路徑及文件名、模板文件所在路徑及文件名、生成的文件路徑、生成的文件名。生成計劃中變化的部分通過參數變量形式進行填寫,如:生成任務中的文件路徑和文件名均可以用參數變量,無須為每次生成不同文件而去改動生成計劃;
參數定義過程將模板文件及生成計劃中的參數變量進行值定義并寫入參數定義配置文件中,參數定義配置文件的內容為參數名、參數值;
生成計劃執行過程包括以下步驟:
1)從生成計劃中指定的參數定義配置文件讀取參數及對應的值,以參數集合的形式保存在內存中;
2)將生成計劃文件中的參數與參數集合中的參數逐個進行匹配,匹配對應后用參數定義配置文件中對應的參數值替換生成計劃中的參數部分內容,從而得到代碼生成計劃;
3)根據代碼生成計劃,找到指定的功能模板文件,然后通過參數替換獲得最終的代碼文件內容;
4)根據步驟2)得到的生成計劃中定義的存儲地址和存儲文件名,將生成好的代碼文件保存到電腦硬盤上。
作為優選,對在生成過程中可能存在變化的地方提供了擴展接口,擴展接口包括參數獲取接口和代碼生成方式接口,用戶可以實現這些接口,從而改變代碼自動生成工具工作方式,其實現步驟如下:
1)在生成計劃文件中配置參數獲取的實現類、代碼生成的實現類;
2)從生成計劃文件中讀取參數獲取接口的實現類,加載執行該實現類把參數及對應的值以參數集合的形式保存在內存中;
3)從生成計劃文件中讀取代碼生成方式接口的實現類,加載執行該實現類對生成計劃文件中的參數用參數集合中的對應的參數值進行替換,得到代碼生成計劃;
4)根據代碼生成計劃,找到指定的功能模板文件,然后通過參數替換獲得最終的代碼文件內容;
5)根據步驟3)得到的生成計劃中定義的存儲地址和存儲文件名,將生成好的代碼文件保存到電腦硬盤上。
本發明的有益效果:本發明通過使用開發語言的語法編寫的模板文件,使得本發明能適應任何一種開發語言和當前各類熱門框架,支持所有開發類語言生成(如java、.net、C/C++、perl、python、pb、delphi等等),并且也有能力支撐今后行業新的開發語言,能適應當前任何開源/商業框架、組件及其他中間件技術(如struts/struts2、spring/spring-mvc、JSF、Hibernate、swing、Ruby?on?Rails等等)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江鴻程計算機系統有限公司,未經浙江鴻程計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110361544.7/2.html,轉載請聲明來源鉆瓜專利網。