代码转换方法、装置、设备及存储介质制造方法及图纸

技术编号:33784297 阅读:24 留言:0更新日期:2022-06-12 14:39
本公开涉及一种代码转换方法,该方法包括:读取第一代码文件,并对第一代码文件进行语法分析,确定第一代码文件包括的语法类型,其中第一代码文件由第一编程语言编写;根据第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对第一代码文件进行转换,得到第二代码文件,其中第二代码文件由第二编程语言编写,预设转换代码用于将由第一编程语言编写的代码转换为由第二编程语言编写的代码,且第二编程语言与第一编程语言不同。且第二编程语言与第一编程语言不同。且第二编程语言与第一编程语言不同。

【技术实现步骤摘要】
代码转换方法、装置、设备及存储介质


[0001]本公开涉及互联网
,具体地,涉及一种代码转换方法、装置、设备及存储介质。

技术介绍

[0002]随着互联网技术的进步,针对互联网产品开发的框架模式层出不穷。在对互联网产品开发的过程中,后端开发人员通常根据应用服务提供的接口说明,定义供前端服务使用的数据模式等,而前端开发人员则使用对应数据模式的查询语句获取数据,以展示给用户。
[0003]在相关技术中,若互联网产品出现新的需求,则应用服务开发人员根据该新需求提供新的接口说明,后端开发人员再修改或新建对应该新的接口说明的数据模式,以供前端服务使用。由于应用服务开发人员和后端开发人员通常使用不同的编程语言,因此每当应用服务的接口说明更新时,都需要同步修改后端服务中对应的数据模式,这样费时费力,开发效率低下。

技术实现思路

[0004]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]第一方面,本公开提供一种代码转换方法,所述方法包括:
[0006]读取第一代码文件,并对所述第一代码文件进行语法分析,确定所述第一代码文件包括的语法类型,其中所述第一代码文件由第一编程语言编写;
[0007]根据所述第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对所述第一代码文件进行转换,得到第二代码文件,其中所述第二代码文件由第二编程语言编写,所述预设转换代码用于将由所述第一编程语言编写的代码转换为由所述第二编程语言编写的代码,且所述第二编程语言与所述第一编程语言不同。
[0008]第二方面,本公开提供一种代码转换装置,所述装置包括:
[0009]读取模块,用于读取第一代码文件,并对所述第一代码文件进行语法分析,确定所述第一代码文件包括的语法类型,其中所述第一代码文件由第一编程语言编写;
[0010]转换模块,用于根据所述第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对所述第一代码文件进行转换,得到第二代码文件,其中所述第二代码文件由第二编程语言编写,所述预设转换代码用于将由所述第一编程语言编写的代码转换为由所述第二编程语言编写的代码,且所述第二编程语言与所述第一编程语言不同。
[0011]第三方面,本公开提供一种电子设备,包括:
[0012]存储装置,其上存储有计算机程序;
[0013]处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述方
法的步骤。
[0014]第四方面,本公开提供一种非临时性计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
[0015]本公开根据由第一编程语言编写的第一代码文件包含的语法类型,在预设转换代码中调用目标转换代码来对第一代码文件进行自动转换,从而生成由第二编程语言编写的第二代码文件。在这个过程中,无需人工干预就可以自动进行代码的转换,也就是说,采用本公开的这种方法,每当应用服务的接口说明更新时,无需人工将更新的内容同步至后端服务,就可以自动转换代码以生成同步后的代码文件,从而提升开发效率。
[0016]此外,由于本公开的代码转换方法无需人工干预,所生成的代码文件风格统一,因此可以避免开发过程中因不同开发人员代码编写风格不同所造成的开发不便。
[0017]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0018]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0019]图1是根据本公开一示例性实施例示出的一种代码转换方法的流程图。
[0020]图2是根据本公开一示例性实施例示出的一种互联网产品开发的流程图。
[0021]图3是根据本公开另一示例性实施例示出的一种互联网产品开发的流程图。
[0022]图4是根据本公开另一示例性实施例示出的一种代码转换方法的流程图。
[0023]图5是根据本公开一示例性实施例示出的一种代码转换装置的框图。
[0024]图6是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0032]在相关技术中,针对不同的互联网产品,可以选择不同的技术选型进行产品开发。例如,参照图2,图2是根据本公开一示例性实施例示出的一种互联网产品开发的流程图。
[0033]如图2所示,针对涉及前后端开发的产品,应用服务开发人员可以通过Thrift定义IDL(Interface Definition Language,接口定义语言),以提供后端使用的接口说明(即Thrift IDL)。在此基础之上,后端开发人员可以通过和应用服务进行Thrift RPC通信,获取应用服务存储的数据(Thrift IDL对应的数据),并且根据应用服务提供的接口说明(Thrift IDL)编写相应的数据模式(GraphQL Schema),以供前端服务使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码转换方法,其特征在于,所述方法包括:读取第一代码文件,并对所述第一代码文件进行语法分析,确定所述第一代码文件包括的语法类型,其中所述第一代码文件由第一编程语言编写;根据所述第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对所述第一代码文件进行转换,得到第二代码文件,其中所述第二代码文件由第二编程语言编写,所述预设转换代码用于将由所述第一编程语言编写的代码转换为由所述第二编程语言编写的代码,且所述第二编程语言与所述第一编程语言不同。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对所述第一代码文件进行转换,包括:当所述第一代码文件包括的语法类型为结构体类型或服务类型时,确定所述结构体类型或所述服务类型包括的语法子类型;当所述结构体类型或所述服务类型包括的语法子类型为数据类型时,根据所述数据类型,在预设转换代码中调用数据类型转换代码对所述第一代码文件进行转换。3.根据权利要求2所述的方法,其特征在于,所述根据所述数据类型,在预设转换代码中调用数据类型转换代码对所述第一代码文件进行转换,包括:当所述数据类型为字典类型时,在预设转换代码中调用字典类型转换代码对所述第一代码文件进行转换,所述字典类型转换代码用于将由所述第一编程语言编写的字典类型代码转换为由所述第二编程语言编写的列表类型代码。4.根据权利要求2所述的方法,其特征在于,所述根据所述数据类型,在预设转换代码中调用数据类型转换代码对所述第一代码文件进行转换,包括:当所述数据类型为标量类型时,在预设转换代码中调用标量类型转换代码对所述第一代码文件进行转换,所述标量类型转换代码用于按照预设的类型映射信息,将所述第一编程语言编写的标量类型代码转换为由所述第二编程语言编写的标量类型代码。5.根据权利要求2所述的方法,其特征在于,所述根据所述数据类型,在预设转换代码中调用数据类型转换代码对所述第一代码文件进行转换,包括:当所述数据类型为枚举类型时,在预设转换代码中调用枚举类型转换代码对所述第一代码文件进行转换,所述枚举类型转换代码用于将由所述第一编程语言编写的枚举类型代码转换为由所述第二编程语言编写的预设标量类型代码。6.根据权利要求1

5任一项所述的方法,其特征在于,所述根据所述第一代码文件包括的语法类型,在预设转换代码中调用目标转换代码对所述第一代码文件进行转换,包括:当所述第一代码文件包括的语法类型为声明类型时,在预设转换代码中调用别名转换代码对所述第一代码文件进行转换;其中,所述别名转换代码用于:确定所述声明类型所包括的语法子类型和所述语法子类型的类...

【专利技术属性】
技术研发人员:武鑫
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1