一种转换文件生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33699750 阅读:9 留言:0更新日期:2022-06-06 08:06
本发明专利技术公开了一种转换文件生成方法、装置、电子设备及存储介质。所述方法包括:获取配置文件,所述配置文件记录有源结构体的相关转换信息;利用预设的命令源码文件和所述相关转换信息,生成满足测试源码文件要求的目标测试文件;运行所述目标测试文件,以及基于所述目标测试文件的运行状态获取所述源结构体的内部成员变量信息;利用所述目标测试文件、所述内部成员变量信息和预设的变量转换逻辑生成目标转换文件。通过目标测试文件实现了对静态强类型语言编写的结构体的内部成员变量信息的获取,从而生成自动检测类型并将概念一致的变量赋值转换的目标转换文件,利用目标转换文件提高了对相关代码进行概念转换的效率。件提高了对相关代码进行概念转换的效率。件提高了对相关代码进行概念转换的效率。

【技术实现步骤摘要】
一种转换文件生成方法、装置、电子设备及存储介质


[0001]本申请涉及互联网通信
,尤其涉及一种转换文件生成方法、装置、电子设备及存储介质。

技术介绍

[0002]在软件开发过程中经常会进行分层设计,不同层级常由不同的人员或团队设计开发,这样很容易出现同一个概念在不同层级中以不同方式表示的情形,比如同一个概念在不同层级以不同的结构、类型和命名表示。因此在对分层设计开发的代码进行测试、整合时需要进行相关变量的赋值转换,这也便是概念转换的具体表现。对于企业级以上的大型开发项目,由于概念繁多,相关变量的赋值转换工作量也较大,这会影响整体的开发效率。
[0003]相关技术中,一方面,可以选用Golang(Go,一种计算机编程语言)开源包gconv(一种类型转换模块)来实现概念转换。该包通过map(键值对集合)配置变量映射关系,gconv内部大量使用断言来进行类型判断。进而根据map中的配置来实现概念转换。然而,这样依赖于gconv;对类型的转换局限于基础类型,不支持自定义类型的转换;以及正逆向转换需要分别配置对应的map。相应的,这样并不能保证快速且有效的实现概念转换。另一方面,可以由工作人员以人工方式来实现概念转换,其中工作人员需要进行大量跟数据处理逻辑无关的字段赋值和类型转换工作,概念转换效率低,严重着影响开发效率。

技术实现思路

[0004]为了解决现有技术应用在对分层设计开发的代码进行测试、整合时,概念转换效率低等问题,本申请提供了一种转换文件生成方法、装置、电子设备及存储介质:
>[0005]根据本申请的第一方面,提供了一种转换文件生成方法,所述方法包括:
[0006]获取配置文件,所述配置文件记录有源结构体的相关转换信息;
[0007]利用预设的命令源码文件和所述相关转换信息,生成满足测试源码文件要求的目标测试文件;
[0008]运行所述目标测试文件,以及基于所述目标测试文件的运行状态获取所述源结构体的内部成员变量信息;
[0009]利用所述目标测试文件、所述内部成员变量信息和预设的变量转换逻辑生成目标转换文件。
[0010]根据本申请的第二方面,提供了一种转换文件生成装置,所述装置包括:
[0011]配置文件获取模块:用于获取配置文件,所述配置文件记录有源结构体的相关转换信息;
[0012]测试文件生成模块:用于利用预设的命令源码文件和所述相关转换信息,生成满足测试源码文件要求的目标测试文件;
[0013]变量信息获取模块:用于运行所述目标测试文件,以及基于所述目标测试文件的运行状态获取所述源结构体的内部成员变量信息;
[0014]转换文件生成模块:用于利用所述目标测试文件、所述内部成员变量信息和预设的变量转换逻辑生成目标转换文件。
[0015]根据本申请的第三方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如第一方面所述的转换文件生成方法。
[0016]根据本申请的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如第一方面所述的转换文件生成方法。
[0017]根据本申请的第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行第一方面所述的转换文件生成方法。
[0018]本申请提供的一种转换文件生成方法、装置、电子设备及存储介质,具有如下技术效果:
[0019]本申请利用测试源码文件能够获取结构体的内部成员变量信息的属性,利用预设的命令源码文件和配置文件中源结构体的相关转换信息来生成满足测试源码文件要求的目标测试文件,进而利用目标测试文件得到目标转换文件。通过目标测试文件实现了对静态强类型语言编写的结构体的内部成员变量信息的获取,从而生成自动检测类型并将概念一致的变量赋值转换的目标转换文件,利用目标转换文件提高了对相关代码进行概念转换的效率。
附图说明
[0020]为了更清楚地说明本专利技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0021]图1是本专利技术实施例提供的一种应用环境的示意图;
[0022]图2是本专利技术实施例提供的一种转换文件生成方法的流程示意图;
[0023]图3也是本专利技术实施例提供的一种转换文件生成方法的流程示意图;
[0024]图4是本专利技术实施例提供的利用预设的命令源码文件和相关转换信息,生成满足测试源码文件要求的目标测试文件的一种流程示意图;
[0025]图5是本专利技术实施例提供的运行目标测试文件,以及基于目标测试文件的运行状态获取所述源结构体的内部成员变量信息的一种流程示意图;
[0026]图6是本专利技术实施例提供的利用目标测试文件、内部成员变量信息和预设的变量转换逻辑生成目标转换文件的一种流程示意图;
[0027]图7是本专利技术实施例提供的生成转换文件前后的项目目录对比图;
[0028]图8是本专利技术实施例提供的一种转换文件生成装置的组成框图;
[0029]图9是本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0030]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0031]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0032]对本专利技术实施例进行进一步详细说明之前,对本专利技术实施例中涉及的名词和术语进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。
[0033]静态语言:在运行前编译时检查数据的类型的语言,无法在运行时直接通过变量的字符串字面量获取其所表示的变量结构和内部成员变量的类型。
[0034]强类型语言:必须强制确定数据类型的语言,一旦一个变量被指定了某种数据类型,如果不经过强制转换,那么它就永远是这种数据类型。一个变量的类型是申明的时候就已经确定的,这样更安全。
[本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种转换文件生成方法,其特征在于,所述方法包括:获取配置文件,所述配置文件记录有源结构体的相关转换信息;利用预设的命令源码文件和所述相关转换信息,生成满足测试源码文件要求的目标测试文件;运行所述目标测试文件,以及基于所述目标测试文件的运行状态获取所述源结构体的内部成员变量信息;利用所述目标测试文件、所述内部成员变量信息和预设的变量转换逻辑生成目标转换文件。2.根据权利要求1所述的方法,其特征在于,所述利用预设的命令源码文件和所述相关转换信息,生成满足测试源码文件要求的目标测试文件,包括:利用所述预设的命令源码文件读取所述配置文件,得到所述相关转换信息对应的字符表示信息;利用所述预设的命令源码文件创建符合所述测试源码文件要求的初始测试文件;按照预设的强类型语言编码规则将所述字符表示信息写入所述初始测试文件,得到所述目标测试文件。3.根据权利要求1所述的方法,其特征在于,所述运行所述目标测试文件,以及基于所述目标测试文件的运行状态获取所述源结构体的内部成员变量信息,包括:基于所述目标测试文件确定所述相关转换信息;根据所述相关转换信息创建源结构体实例;利用反射机制从所述源结构体实例获取所述源结构体的内部成员变量信息。4.根据权利要求1所述的方法,其特征在于,所述利用所述目标测试文件、所述内部成员变量信息和预设的变量转换逻辑生成目标转换文件,包括:利用所述目标测试文件创建初始转换文件;获取所述预设的变量转换逻辑,所述预设的变量转换逻辑的内容包括以下至少之一:成员变量间的转换方向、成员变量的字段类型的优先转换设置信息;基于所述目标测试文件确定所述相关转换信息;根据所述相关转换信息、所述内部成员变量信息和所述预设的变量转换逻辑得到转换函数;将所述转换函数写入所述初始转换文件中得到所述目标转换文件。5.根据权利要求4所述...

【专利技术属性】
技术研发人员:徐畅龚子贤郑超
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1