[发明专利]一种程序代码自动生成方法无效
申请号: | 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.vipzhuanli.com/pat/books/201110361544.7/2.html,转载请声明来源钻瓜专利网。