[发明专利]代码生成方法、装置、电子设备及存储介质在审
申请号: | 202111143523.8 | 申请日: | 2021-09-28 |
公开(公告)号: | CN113778398A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 翟陆续 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/41 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 冯右明 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 生成 方法 装置 电子设备 存储 介质 | ||
本公开关于一种代码生成方法、装置、电子设备及存储介质,该方法包括:通过响应于代码生成指令,执行代码生成工具对应的代码生成逻辑,并调用预设插件;预设插件包含多个代码编辑方法,被执行后实现将已生成代码中的目标字符串替换为预设字符串;其次在代码生成逻辑的执行过程中,当检测到当前待执行片段属于任一目标片段时,转为执行插件中与当前待执行片段对应的代码编辑方法,并在该代码编辑方法执行结束后,返回执行当前待执行片段的下一片段;然后返回执行上一步骤,直到代码生成逻辑执行完毕,得到生成的代码。本公开实现了在代码生成过程中即对代码中的目标字符串进行实时替换,使得代码中容易引起混淆的字符串被替换为语义清晰的字符串,提高了生成的代码质量。
技术领域
本公开涉及计算机技术领域,尤其涉及一种代码生成方法、装置、电子设备及存储介质。
背景技术
MyBatis Generator(持久层框架的代码生成器)是MyBatis(基于Java的持久层框架)提供的一个代码生成工具,可以生成数据库表对应的持久化对象(DO)、操作数据库的接口(Mapper)、查询条件类(XXXExample)等。
然而,MyBatis Generator生成的部分代码中,部分类名和方法名容易引起混淆,且官方提供的插件无法完全对引起混淆的字符进行替换,因此生成的接口代码的语义还较为模糊,导致代码生成质量较低。
发明内容
本公开提供一种代码生成方法、装置、电子设备及存储介质,以至少解决相关技术中代码生成的质量较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种代码生成方法,包括:
响应于代码生成指令,执行代码生成工具对应的代码生成逻辑,并调用预设插件;所述预设插件包含多个代码编辑方法,所述多个代码编辑方法被执行后实现将已生成代码中的目标字符串替换为预设字符串;所述多个代码编辑方法为基于所述代码生成逻辑中的多个目标片段,分别进行重写得到的方法;
在所述代码生成逻辑的执行过程中,当检测到当前待执行片段属于任一所述目标片段时,转为执行所述插件中与所述当前待执行片段对应的代码编辑方法,并在该代码编辑方法执行结束后,返回执行所述当前待执行片段的下一片段;
返回执行上一步骤,直到所述代码生成逻辑执行完毕,得到生成的代码。
在一示例性实施例中,
当检测到当前待执行片段属于任一所述目标片段时,转为执行所述插件中与所述当前待执行片段对应的代码编辑方法,包括:
当检测到当前待执行片段属于第一目标片段时,转为执行第一代码编辑方法,以获取所述预设字符串;所述第一代码编辑方法为针对所述第一目标片段重写的方法;
当检测到当前待执行片段属于第二目标片段,转为执行第二代码编辑方法,以更新所述已生成代码中包含所述目标字符串的类名和接口方法名,将所述类名和所述接口方法名中的目标字符串替换为预设字符串;所述第二代码编辑方法为针对所述第二目标片段重写的方法;
当检测到当前待执行片段属于第三目标片段,转为执行第三代码编辑方法,以更新已生成代码中包含所述目标字符串的接口参数和注释信息,将所述接口参数和注释信息中的目标字符串替换为预设字符串;所述第三代码编辑方法为针对所述第三目标片段重写的方法;
当检测到当前待执行片段属于第四目标片段,转为执行第四代码编辑方法,以更新已生成代码中包含所述目标字符串的接口配置文件中的配置信息,将所述配置信息中的目标字符串替换为预设字符串;所述第四代码编辑方法为针对所述第四目标片段重写的方法。
在一示例性实施例中,所述代码生成工具为MyBatis的代码生成器,所述代码生成逻辑为操作数据库接口的生成逻辑;所述第一代码编辑方法为重写后的参数验证方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111143523.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于高温镀锌的减速机
- 下一篇:建筑抗菌涂料及其制备方法