代码生成方法、装置、设备、介质及产品制造方法及图纸

技术编号:38755775 阅读:16 留言:0更新日期:2023-09-10 09:40
本申请提供一种代码生成方法、装置、设备、介质及产品。该方法包括:接收代码生成请求,代码生成请求包括各设计要素的数据和目标类型;根据目标类型,从文件库中确定目标模板,并基于目标模板生成每个设计要素对应的模板;针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块,以及,对该设计要素的数据进行数据转换;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件。本申请的方案,能够提高软件的开发效率。够提高软件的开发效率。够提高软件的开发效率。

【技术实现步骤摘要】
代码生成方法、装置、设备、介质及产品


[0001]本申请涉及车辆领域,尤其涉及一种代码生成方法、装置、设备、介质及产品。

技术介绍

[0002]随着交通工具技术的不断发展,车辆电子系统功能的复杂度呈指数级上升,软件定义车辆成为大势所趋,车辆软件的开发面临着巨大挑战。车辆新功能新需求的出现,没有过多的经验可以遵循,造成软件需求不断迭代,同时,软件的架构也需要支撑不断变化的需求。因此,对车辆软件的开发显得尤为重要。
[0003]目前,由于车辆功能复杂度的上升以及车辆软件占比的增加,对车辆软件的开发难度、开发效率和技术兼容性有了更高的要求。当开发人员在进行车辆软件开发时,通常需要手动输入代码,导致开发效率较低。

技术实现思路

[0004]本申请提供一种代码生成方法、装置、设备、介质及产品,用以提升软件开发的效率。
[0005]一方面,本申请提供一种代码生成方法,包括:接收代码生成请求,代码生成请求包括各设计要素的数据和目标类型;目标类型包括目标语言类型和目标通信协议类型,设计要素的数据包括目录数据和文件数据;根据目标类型,从文件库中确定目标模板,并基于目标模板生成每个设计要素对应的模板;文件库包括基于不同语言类型和通信协议类型的预先编写的模板;其中,目标模板采用目标语言类型和目标通信协议类型;模板包括目录模板和文件模板;针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块;以及,对该设计要素的数据进行数据转换;其中,转换后的设计要素的数据的数据格式与目标模板可识别的数据格式一致;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件。
[0006]在一种可能的实现方式中,根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件,包括:针对每个设计要素,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,得到该设计要素的代码文件。
[0007]在一种可能的实现方式中,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段,包括:将设计要素的数据中的目录数据,写入至数据结构表中用于定义目录的第一单元,以将第一单元中写入的数据填至各代码模板块中与第一单元相对应的字段;第一单元与各代码模板块中用于定义目录的字段一一对应;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,包括:将设计要素的数据中的文件数据,写入至数据结构表中用于定义属性的第二单元,以将第二单元中写入的数据填至各代码模板块中与第二单元相对应的字段;第二单元与各代
码模板块中用于定义属性的字段一一对应。
[0008]在一种可能的实现方式中,针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块,包括:针对每个设计要素,确定该设计要素对应的模板中的每组结构标签,每组结构标签包括起始标签和对应的结束标签;针对每组结构标签,将该结构标签的起始标签和对应的结束标签之间的代码作为一个代码模板块,并根据设计要素中该代码模板块所对应的变量的数量确定该代码模板块的循环次数,将该代码模板块按照循环次数生成对应数量的代码模板块,得到设计要素的各代码模板块。
[0009]在一种可能的实现方式中,方法还包括:接收指定的文件存储位置,并在文件存储位置下创建存储文件夹;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件之后,还包括:将目标代码文件保存至存储文件夹中。
[0010]另一方面,本申请提供一种代码生成装置,包括:接收模块,用于接收代码生成请求,代码生成请求包括各设计要素的数据和目标类型;目标类型包括目标语言类型和目标通信协议类型,设计要素的数据包括目录数据和文件数据;第一处理模块,用于根据目标类型,从文件库中确定目标模板,并基于目标模板生成每个设计要素对应的模板;文件库包括基于不同语言类型和通信协议类型的预先编写的模板;其中,目标模板采用目标语言类型和目标通信协议类型;模板包括目录模板和文件模板;第二处理模块,用于针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块;以及,对该设计要素的数据进行数据转换;其中,转换后的设计要素的数据的数据格式与目标模板可识别的数据格式一致;生成模块,用于根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件。
[0011]在一种可能的实现方式中,生成模块,具体用于:针对每个设计要素,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,得到该设计要素的代码文件。
[0012]在一种可能的实现方式中,生成模块,具体用于:将设计要素的数据中的目录数据,写入至数据结构表中用于定义目录的第一单元,以将第一单元中写入的数据填至各代码模板块中与第一单元相对应的字段;第一单元与各代码模板块中用于定义目录的字段一一对应;生成模块,具体还用于:将设计要素的数据中的文件数据,写入至数据结构表中用于定义属性的第二单元,以将第二单元中写入的数据填至各代码模板块中与第二单元相对应的字段;第二单元与各代码模板块中用于定义属性的字段一一对应。
[0013]在一种可能的实现方式中,第二处理模块,具体用于:针对每个设计要素,确定该设计要素对应的模板中的每组结构标签,每组结构标签包括起始标签和对应的结束标签;针对每组结构标签,将该结构标签的起始标签和对应的结束标签之间的代码作为一个代码模板块,并根据设计要素中该代码模板块所对应的变量的数量确定该代码模板块的循环次数,将该代码模板块按照循环次数生成对应数量的代码模板块,得到设计要素的各代码模板块。
[0014]在一种可能的实现方式中,装置还包括:第三处理模块,用于接收指定的文件存储位置,并在文件存储位置下创建存储文件夹;存储模块,用于将目标代码文件保存至存储文件夹中。
[0015]又一方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如前的方法。
[0016]又一方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如前的方法。
[0017]又一方面,本申请提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前的方法。
[0018]本申请提供的代码生成方法、装置、设备、介质及产品中,代码生成请求包括各设计要素的数据和目标类型,该目标类型指定需采用的目标语言类型和目标通信协议类型;根据目标类型,从文件库中确定相匹配的目标模板,并基于目标模板生成每个设计要素对应的模板;基于每个设计要素对应的模板获得每个设计要素的各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:接收代码生成请求,所述代码生成请求包括各设计要素的数据和目标类型;所述目标类型包括目标语言类型和目标通信协议类型,所述设计要素的数据包括目录数据和文件数据;根据所述目标类型,从文件库中确定目标模板,并基于所述目标模板生成每个设计要素对应的模板;所述文件库包括基于不同语言类型和通信协议类型的预先编写的模板;其中,所述目标模板采用所述目标语言类型和所述目标通信协议类型;所述模板包括目录模板和文件模板;针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块;以及,对该设计要素的数据进行数据转换;其中,转换后的所述设计要素的数据的数据格式与所述目标模板可识别的数据格式一致;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成所述各设计要素的代码文件。2.根据权利要求1所述的方法,其特征在于,所述根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成所述各设计要素的代码文件,包括:针对每个设计要素,将所述设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段;将所述设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,得到该设计要素的代码文件。3.根据权利要求2所述的方法,其特征在于,所述将所述设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段,包括:将所述设计要素的数据中的目录数据,写入至数据结构表中用于定义目录的第一单元,以将所述第一单元中写入的数据填至所述各代码模板块中与所述第一单元相对应的字段;所述第一单元与所述各代码模板块中用于定义目录的字段一一对应;所述将所述设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,包括:将所述设计要素的数据中的文件数据,写入至数据结构表中用于定义属性的第二单元,以将所述第二单元中写入的数据填至所述各代码模板块中与所述第二单元相对应的字段;所述第二单元与所述各代码模板块中用于定义属性的字段一一对应。4.根据权利要求1所述的方法,其特征在于,所述针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块,包括:针对每个设计要素,确定该设计要素对应的模板中的每组结构标签,每组结构标签包括起始标签和对应的结束标签;针对每组结构标签,将该结构标签的起始标签和对应的结束标签之间的代码作为一个代码模板块,并根据设计要素中该代码模板块所对应的变量的数量确定该代码模板块的循环次数,将该代码模板块按照所述循环次数生成对应数量的代码模板块,得到所述设计要素的各代码模板块。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述方法还包括:接收指定的文件存储位置,并在所述文件存储位置下创建存储文件夹;
所述根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成所述各设计要素的代码文件之后,还包括:将所述目标代码文件保存至所述存储文件夹中。6.一种代码生成装置,其特征在于,包括:接收模块,用于接收代码生成请求,所述代码生成请求包括各设计要素的数据和目标类型;所述目标类型包括目标语言类型和...

【专利技术属性】
技术研发人员:王珂蔡伟杰路哲
申请(专利权)人:吉利汽车研究院宁波有限公司
类型:发明
国别省市:

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

1