[发明专利]代码生成方法及装置有效
申请号: | 201510070808.1 | 申请日: | 2015-02-10 |
公开(公告)号: | CN104657140B | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 卢轩华 | 申请(专利权)人: | 广州华多网络科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 祝亚男 |
地址: | 511446 广东省广州市番*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 生成 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种代码生成方法及装置。
背景技术
随着计算机技术的快速发展,出现了越来越多诸如即时通讯、游戏等互联网业务,进而也衍生出了越来越多用于处理这些业务的业务系统。每个业务系统可能会包括多个不同的功能模块,每个功能模块可以将所需的数据存储在多张数据表中,因此,开发人员在开发该业务系统时,需要针对每个功能模块的多张数据表分别编写用于描述和定位每张数据表的代码,以便业务系统在运行中能够通过每张数据表的代码,从每张数据表中读数据、写数据或者删除数据。
而对于不同的数据表,从数据表中读数据、写数据或者删除数据的过程基本相同,因此,为了提高业务系统的开发效率,开发人员可以通过代码生成器,为每张数据表分别生成代码。之后,开发人员可以根据该业务系统的实际需求,对生成的代码进行修改,完成该业务系统的开发。
随着该业务系统的运行,当确定该业务系统中数据表的结构不能满足需求时,开发人员可以对该数据表的结构进行修改,之后,再通过代码生成器为该数据表生成新代码,而生成的新代码中覆盖了开发人员之前基于该业务系统的实际需求进行修改的代码,此时,为了满足该业务系统的实际需求,开发人员需要再次对生成的新代码进行修改,操作比较复杂,降低了代码生成效率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种代码生成方法及装置。所述技术方案如下:
一方面,提供了一种代码生成方法,所述方法包括:
当接收到代码生成指令时,根据所述代码生成指令携带的数据表标识,判断是否已存储数据表的历史代码文件;
如果已存储所述数据表的历史代码文件,则将所述历史代码文件转换成第一抽象语法树;
根据所述数据表标识对应的数据表属性信息和存储的数据表模板代码,生成第二抽象语法树;
根据所述第一抽象语法树与所述第二抽象语法树,生成所述数据表的代码。
可选地,所述根据所述代码生成指令携带的数据表标识,判断是否已存储数据表的历史代码文件,包括:
根据所述代码生成指令携带的数据表标识,获取数据表的代码文件存储路径;
如果所述代码文件存储路径中存储有代码文件,则确定已存储所述数据表的历史代码文件,否则,确定没有存储所述数据表的历史代码文件。
可选地,所述根据所述数据表标识对应的数据表属性信息和存储的数据表模板代码,生成第二抽象语法树,包括:
根据所述数据表标识,获取对应的数据表属性信息;
根据所述数据表属性信息和存储的数据表模板代码,生成所述数据表的标准代码;
将所述数据表的标准代码转换成第二抽象语法树。
可选地,所述根据所述第一抽象语法树与所述第二抽象语法树,生成所述数据表的代码,包括:
从所述第一抽象语法树包括的方法中,获取与所述第二抽象语法树包括的方法不同的方法;
从所述第一抽象语法树包括的成员变量中,获取与所述第二抽象语法树包括的成员变量不同的成员变量;
将获取到的方法和获取到的成员变量添加到所述第二抽象语法树中,得到新抽象语法树;
根据所述新抽象语法树,生成所述数据表的代码。
可选地,所述根据所述第一抽象语法树与所述第二抽象语法树,生成所述数据表的代码,包括:
从所述第二抽象语法树包括的方法中,获取与所述第一抽象语法树包括的方法不同的方法;
从所述第二抽象语法树包括的成员变量中,获取与所述第一抽象语法树包括的成员变量不同的成员变量;
将获取到的方法和获取到的成员变量添加到所述第一抽象语法树中,得到新抽象语法树;
根据所述新抽象语法树,生成所述数据表的代码。
另一方面,提供了一种代码生成装置,所述装置包括:
判断模块,用于当接收到代码生成指令时,根据所述代码生成指令携带的数据表标识,判断是否已存储数据表的历史代码文件;
转换模块,用于如果已存储所述数据表的历史代码文件,则将所述历史代码文件转换成第一抽象语法树;
第一生成模块,用于根据所述数据表标识对应的数据表属性信息和存储的数据表模板代码,生成第二抽象语法树;
第二生成模块,用于根据所述第一抽象语法树与所述第二抽象语法树,生成所述数据表的代码。
可选地,所述判断模块包括:
第一获取单元,用于根据所述代码生成指令携带的数据表标识,获取数据表的代码文件存储路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510070808.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种绝缘包覆机器人涂料供应系统及其方法
- 下一篇:点胶机自动上料装置及方法