代码生成方法及代码生成系统技术方案

技术编号:14930678 阅读:138 留言:0更新日期:2017-03-31 12:34
本发明专利技术提供了一种代码生成方法及代码生成系统,其中,代码生成方法包括:获取目标样列代码,并根据所述目标样例代码创建代码生成模板,其中,所述代码生成模板中包含有差异内容替换标识和共用内容;在接收到生成代码的指令时,确定所述差异内容替换标识对应的填充内容,并使用所述填充内容对所述差异内容替换标识进行填充,以得到处理后的代码生成模板;根据所述处理后的代码生成模板生成所述代码。通过本发明专利技术的技术方案,可基于创建的代码生成模板生成代码,有效提升了代码的开发效率,且确保代码的规范性以及正确性。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种代码生成方法和一种代码生成系统。
技术介绍
相关技术中,在项目研发的过程中,通常有许多重复的配置项,比如iBatis配置文件、Hibernate配置文件、Struts、Spring、XML(ExtensiblemarkupLanguage,可扩展标记语言)配置等,一般的做法是在手动新建配置文件,复制XML统一的XSD(XMLSchemasDefinition,XML结构定义)规范头定义,然后按照标准规范创建节点配置信息。这种手动创建配置文件的方式存在如下缺陷:1、人为手工编写的文件比较麻烦而且容易出错,并且不同的人可能形成一套自己编码风格,造成代码不能遵循统一编码规范,在后续调试和运行过程中耗费大量的时间;2、对于数据库表到实体类对象,数据访问、接口等存在大量重复编码过程,对每一个过程的开发都需要进行代码检查,编译调试,降低了开发效率。对于上述问题,目前还没有有效的解决方法。
技术实现思路
本专利技术正是基于上述技术问题至少之一,提出了一种新的代码生成方案,可基于创建的代码生成模板生成代码,有效提升了代码的开发效率,且确保代码的规范性以及正确性。有鉴于此,本专利技术提出了一种代码生成方法,包括:获取目标样列代码,并根据所述目标样例代码创建代码生成模板,其中,所述代码生成模板中包含有差异内容替换标识和共用内容;在接收到生成代码的指令时,确定所述差异内容替换标识对应的填充内容,并使用所述填充内容对所述差异内容替换标识进行填充,以得到处理后的代码生成模板;根据所述处理后的代码生成模板生成所述代码。在该技术方案中,通过获取到的目标样例代码(目标样例代码可以是用户预先编写好的样例代码或选定的样例代码)创建代码生成模板,在接收到生成代码的指令时,确定代码生成模板中的差异内容替换标识对应的填充内容,并使用填充内容对差异内容替换标识进行填充,以根据处理后的代码生成模板生成代码,使得在代码生成过程,基于代码生成模板,对差异内容进行填充替换即可实现代码的自动生成,无需用户手动重复性的编写配置文件,确保了生成的代码的规范性、准确性,有效地提升了代码的开发效率。在上述技术方案中,优选地,所述根据所述目标样例代码创建代码生成模板的步骤,具体包括:从所述目标样例代码中提取出差异内容和共用内容;基于所述差异内容和所述共用内容,创建所述代码生成模板;其中,在所述代码生成模板中使用所述差异内容替换标识来标识所述差异内容。在该技术方案中,从目标样例代码中提取出差异内容和共用内容(具体地,可通过Velocity模板引擎来对目标样例代码进行处理,当然还可以通过Freemarker模板引擎或其他自定义模板引擎对目标样例代码进行处理),并基于差异内容和共用内容,创建代码生成模板,确保了代码生成模板的创建效率。其中,差异内容是指在生成代码过程中需改变、调整的内容,共用内容是指在生成代码过程中一些共用的、不需要改动的内容。在上述任一项技术方案中,优选地,所述差异内容替换标识包括占位符。在上述任一项技术方案中,优选地,还包括:在根据所述目标样例代码创建所述代码生成模板的过程中,判断所述代码生成模板是否需与目标数据库进行关联;在确定所述代码生成模板需与所述目标数据库关联时,为所述代码生成模板配置所述目标数据库,其中,所述目标数据库中存储有用于填充所述差异内容替换标识的填充内容;在确定所述代码生成模板不需与所述目标数据库关联时,配置用于填充所述差异内容替换标识的填充内容与所述差异内容替换标识的关联关系。在该技术方案中,在代码生成模板的创建过程中,可根据代码生成模板是否需与目标数据库进行关联的判断结果来进一步确定为代码生成模板配置目标数据库还是差异内容替换标识与填充内容的关联关系,满足了不同的配置需求。在上述任一项技术方案中,优选地,所述确定所述差异内容替换标识对应的填充内容的步骤,具体包括:根据所述目标数据库或所述关联关系,确定所述差异内容替换标识对应的填充内容。在该技术方案中,在确定差异内容替换标识对应的填充内容时,可以从数据库中查找,还可以根据关联关系查找,确保了能够正确地查找到相应的填充内容,为后续代码的自动生成提供前提保障。在上述任一项技术方案中,优选地,所述指令包括所述代码的保存路径,所述代码生成方法还包括:按照所述代码的保存路径对所述代码进行保存。在该技术方案中,可按照代码的保存路径对代码进行保存,便于用户查找和管理代码。根据本专利技术的第二方面,提出了一种代码生成系统,包括:模板生成单元,用于获取目标样列代码,并根据所述目标样例代码创建代码生成模板,其中,所述代码生成模板中包含有差异内容替换标识和共用内容;确定单元,用于在接收到生成代码的指令时,确定所述差异内容替换标识对应的填充内容;填充单元,用于使用所述填充内容对所述差异内容替换标识进行填充,以得到处理后的代码生成模板;代码生成单元,用于根据所述处理后的代码生成模板生成所述代码。在该技术方案中,通过获取到的目标样例代码(目标样例代码可以是用户预先编写好的样例代码或选定的样例代码)创建代码生成模板,在接收到生成代码的指令时,确定代码生成模板中的差异内容替换标识对应的填充内容,并使用填充内容对差异内容替换标识进行填充,以根据处理后的代码生成模板生成代码,使得在代码生成过程,基于代码生成模板,对差异内容进行填充替换即可实现代码的自动生成,无需用户手动重复性的编写配置文件,确保了生成的代码的规范性、准确性,有效地提升了代码的开发效率。在上述技术方案中,优选地,所述模板生成单元具体用于:从所述目标样例代码中提取出差异内容和共用内容;基于所述差异内容和所述共用内容,创建所述代码生成模板;其中,在所述代码生成模板中使用所述差异内容替换标识来标识所述差异内容。在该技术方案中,从目标样例代码中提取出差异内容和共用内容(具体地,可通过Velocity模板引擎来对目标样例代码进行处理,当然还可以通过Freemarker模板引擎或其他自定义模板引擎对目标样例代码进行处理),并基于差异内容和共用内容,创建代码生成模板,确保了代码生成模板的创建效率。其中,差异内容是指在生成代码过程中需改变、调整的内容,共用内容是指在生成代码过程中一些共用的、不需要改动的内容。在上述任一项技术方案中,优选地,所述差异内容替换标识包括占位符。在上述任一项技术方案中,优选地,还包括:判断单元,用于在根据所述目标样例代码创建所述代码生成模板的过程中,判断所述代码生成模板是否需与目标数据库进行关联;配置单元,用于在所述判断单元确定所述代码生成模板需与所述目标数据库关联时,为所述代码生成模板配置所述目标数据库,其中,所述目标数据库中存储有用于填充所述差异内容替换标识的填充内容,以及在所述判断单元确定所述代码生成模板不需与所述目标数据库关联时,配置用于填充所述差异内容替换标识的填充内容与所述差异内容替换标识的关联关系。在该技术方案中,在代码生成模板的创建过程中,可根据代码生成模板是否需与目标数据库进行关联的判断结果来进一步确定为代码生成模板配置目标数据库还是差异内容替换标识与填充内容的关联关系,满足了不同的配置需求。在上述任一项技术方案中,优选地,所述确定单元具体用于:根据所述目标数据库或所述关联关系本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201611041979.html" title="代码生成方法及代码生成系统原文来自X技术">代码生成方法及代码生成系统</a>

【技术保护点】
一种代码生成方法,其特征在于,包括:获取目标样列代码,并根据所述目标样例代码创建代码生成模板,其中,所述代码生成模板中包含有差异内容替换标识和共用内容;在接收到生成代码的指令时,确定所述差异内容替换标识对应的填充内容,并使用所述填充内容对所述差异内容替换标识进行填充,以得到处理后的代码生成模板;根据所述处理后的代码生成模板生成所述代码。

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:获取目标样列代码,并根据所述目标样例代码创建代码生成模板,其中,所述代码生成模板中包含有差异内容替换标识和共用内容;在接收到生成代码的指令时,确定所述差异内容替换标识对应的填充内容,并使用所述填充内容对所述差异内容替换标识进行填充,以得到处理后的代码生成模板;根据所述处理后的代码生成模板生成所述代码。2.根据权利要求1所述的代码生成方法,其特征在于,所述根据所述目标样例代码创建代码生成模板的步骤,具体包括:从所述目标样例代码中提取出差异内容和共用内容;基于所述差异内容和所述共用内容,创建所述代码生成模板;其中,在所述代码生成模板中使用所述差异内容替换标识来标识所述差异内容。3.根据权利要求1所述的代码生成方法,其特征在于,所述差异内容替换标识包括占位符。4.根据权利要求1至3中任一项所述的代码生成方法,其特征在于,还包括:在根据所述目标样例代码创建所述代码生成模板的过程中,判断所述代码生成模板是否需与目标数据库进行关联;在确定所述代码生成模板需与所述目标数据库关联时,为所述代码生成模板配置所述目标数据库,其中,所述目标数据库中存储有用于填充所述差异内容替换标识的填充内容;在确定所述代码生成模板不需与所述目标数据库关联时,配置用于填充所述差异内容替换标识的填充内容与所述差异内容替换标识的关联关系。5.根据权利要求4所述的代码生成方法,其特征在于,所述确定所述差异内容替换标识对应的填充内容的步骤,具体包括:根据所述目标数据库或所述关联关系,确定所述差异内容替换标识对应的填充内容。6.根据权利要求1至3中任一项所述的代码生成方法,其特征在于,所述指令包括所述代码的保存路径,所述代码生成方法还包括:按照所述代码的保存路径对所述代码进行保存。7.一种代码生成系统,其特征在于,...

【专利技术属性】
技术研发人员:贺毅刚
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1