一种程序代码自动生成方法

文档序号:6438421阅读:2774来源:国知局
专利名称:一种程序代码自动生成方法
技术领域
本发明涉及支持各种开发语言开源框架的一种程序代码自动生成方法。
背景技术
当前软件开发过程中,开发人员往往要书写大量的重复代码。例如在目前普遍使用的分层开发模式下对表进行增加、删除、修改和查询操作,都是业务层接口向持久层接口进行调用,大部分代码都是相同的,但是因类名等的不同,往往需要在开发过程中运用复制、粘贴、修改这样的粘贴式编程方式,不仅繁琐而且容易出错。而当前流行的各种集成开发环境(IDE)及工具虽然可以智能自动生成部分代码,但由于开发需要和开发框架等的不同,这样的智能适应性仍比较弱。

发明内容
本发明为克服现有开发过程中存在的不足之处,目的在于提供一种程序代码自动生成方法,该方法通过分析当前各种开发语言和开发框架在开发过程中的重复代码,根据重复代码是有规则的且可定制的共同特点进行设计,把重复代码及规则定义到模板文件中进行自动生成,避免了开发人员重复代码的编写,大大提高了开发效率,解决了现有技术中存在的问题。本发明是通过以下技术方案达到上述目的一种程序代码自动生成方法,包括功能模板文件编写、生成计划定义、参数定义和生成计划执行四个过程,其中功能模板文件编写过程包括以下步骤1)按照开发语言的语法编写各功能模板文件内容;2)将文件内容中发生变化的部分通过参数变量形式进行设置;模板文件是生成最后代码文件的源头,编写时可以将用户的开发规范体现在文本内容中;生成计划定义过程定义使用哪个功能模板文件、参数定义配置文件以及最终生成的文件存储地址;生成计划可以包含多个生成任务,一个生成任务需要指定模板文件和最终生成的文件的存储地址。生成计划主要定义的内容为参数定义配置文件所在路径及文件名、模板文件所在路径及文件名、生成的文件路径、生成的文件名。生成计划中变化的部分通过参数变量形式进行填写,如生成任务中的文件路径和文件名均可以用参数变量,无须为每次生成不同文件而去改动生成计划;参数定义过程将模板文件及生成计划中的参数变量进行值定义并写入参数定义配置文件中,参数定义配置文件的内容为参数名、参数值;生成计划执行过程包括以下步骤1)从生成计划中指定的参数定义配置文件读取参数及对应的值,以参数集合的形式保存在内存中;2)将生成计划文件中的参数与参数集合中的参数逐个进行匹配,匹配对应后用参数定义配置文件中对应的参数值替换生成计划中的参数部分内容,从而得到代码生成计划;3)根据代码生成计划,找到指定的功能模板文件,然后通过参数替换获得最终的代码文件内容;4)根据步骤2)得到的生成计划中定义的存储地址和存储文件名,将生成好的代码文件保存到电脑硬盘上。作为优选,对在生成过程中可能存在变化的地方提供了扩展接口,扩展接口包括参数获取接口和代码生成方式接口,用户可以实现这些接口,从而改变代码自动生成工具工作方式,其实现步骤如下1)在生成计划文件中配置参数获取的实现类、代码生成的实现类;2)从生成计划文件中读取参数获取接口的实现类,加载执行该实现类把参数及对应的值以参数集合的形式保存在内存中;3)从生成计划文件中读取代码生成方式接口的实现类,加载执行该实现类对生成计划文件中的参数用参数集合中的对应的参数值进行替换,得到代码生成计划;4)根据代码生成计划,找到指定的功能模板文件,然后通过参数替换获得最终的代码文件内容;5)根据步骤幻得到的生成计划中定义的存储地址和存储文件名,将生成好的代码文件保存到电脑硬盘上。本发明的有益效果本发明通过使用开发语言的语法编写的模板文件,使得本发明能适应任何一种开发语言和当前各类热门框架,支持所有开发类语言生成(如java、. net、C/C++、perl、python、pb、delphi等等),并且也有能力支撑今后行业新的开发语言, 能适应当前任何开源/商业框架、组件及其他中间件技术(如struts/struts2、spring/ spring-mvc、JSF> Hibernate、swing、Ruby on Rails 等等)。本发明实现项目中重复代码通过一次性配置自动生成,降低开发工作量,达到项目快速开发能力;通过模板定义,和变化部分依靠参数替换的方式,有效固化了代码固定部分中不变的地方,使生成的代码具备规范性和一致性,从而帮助代码规范统一遗传;通过灵活的可变的生成计划,完全支持了各种语言、中间件或开源框架结构的文件存放格式要求; 通过扩展接口的方式,提供用户对代码自动生成工具的定制能力,使之具备更广的适用性。


图1是本发明的系统构架示意图。
具体实施例方式实施例1 下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此如图1所示通过读取参数定义配置文件,将指定参数值集合替换到生成计划指定的模板文件内容的参数变量里,从而获得最终生成的代码文件内容,并且可以根据生成计划将文件存放在指定目录里。通过这种原理,可以很好的支持当前所有开发语言和开发框架上。代码生成的主要过程包括模板文件准备、生成计划定义、参数定义和生成计划执行。下面以生成java代码文件为例,对发明提供代码自动生成的具体实施方式
和过程进行详细阐述。(一 )功能模板文件编写模板文件作为代码生成的内容主要来源,统一存放在代码自动化生成工具主程序文件夹的template目录中,利用参数变量(参数以$开头,参数名用{}括起来)对模板内容里存在变化的部分进行填写,模板文件可以按照每个公司自己的规范进行编写。本例中的模板文件保存在代码自动化生成工具主程序文件夹的template目录中,文件名为 service, tpl,文件内容如下
权利要求
1.一种程序代码自动生成方法,其特征在于包括功能模板文件编写、生成计划定义、参数定义和生成计划执行四个过程,其中功能模板文件编写过程包括以下步骤1)按照开发语言的语法编写各功能模板文件内容;2)将文件内容中发生变化的部分通过参数变量形式进行设置;生成计划定义过程定义使用哪个功能模板文件、参数定义配置文件以及最终生成的文件存储地址;参数定义过程将功能模板文件及生成计划中的参数变量进行值定义并写入参数定义配置文件中;生成计划执行过程包括以下步骤1)从生成计划中指定的参数定义配置文件读取参数及对应的值,以参数集合的形式保存在内存中;2)将生成计划文件中的参数与参数集合中的参数逐个进行匹配,匹配对应后用参数定义配置文件中对应的参数值替换生成计划中的参数部分内容,从而得到代码生成计划;3)根据代码生成计划,找到指定的功能模板文件,然后通过参数替换获得最终的代码文件内容;4)根据步骤2)得到的生成计划中定义的存储地址和存储文件名,将生成好的代码文件保存到电脑硬盘上。
2.根据权利要求1所述的一种程序代码自动生成方法,其特征在于,在生成过程中存在变化的地方设置参数获取接口和代码生成方式接口,其实现步骤如下1)在生成计划文件中配置参数获取的实现类、代码生成的实现类;2)从生成计划文件中读取参数获取接口的实现类,加载执行该实现类把参数及对应的值以参数集合的形式保存在内存中;3)从生成计划文件中读取代码生成方式接口的实现类,加载执行该实现类对生成计划文件中的参数用参数集合中的对应的参数值进行替换,得到代码生成计划;4)根据代码生成计划,找到指定的功能模板文件,然后通过参数替换获得最终的代码文件内容;5)根据步骤幻得到的生成计划中定义的存储地址和存储文件名,将生成好的代码文件保存到电脑硬盘上。
3.根据权利要求1或2任一权利要求所述的一种程序代码自动生成方法,其特征在于, 参数定义配置文件的内容为参数名、参数值。
全文摘要
本发明涉及支持各种开发语言开源框架的一种程序代码自动生成方法,该方法通过分析当前各种开发语言和开发框架在开发过程中的重复代码,根据重复代码是有规则的且可定制的共同特点进行设计,把重复代码及规则定义到模板文件中进行自动生成,避免了开发人员重复代码的编写,大大提高了开发效率,解决了现有技术中存在的问题。
文档编号G06F9/44GK102508669SQ20111036154
公开日2012年6月20日 申请日期2011年11月14日 优先权日2011年11月14日
发明者严伟强, 李纺, 田文 申请人:浙江鸿程计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1