代码生成方法、装置、设备、介质及产品与流程

文档序号:35401790发布日期:2023-09-09 18:19阅读:31来源:国知局
代码生成方法、装置、设备、介质及产品与流程

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


背景技术:

1、随着交通工具技术的不断发展,车辆电子系统功能的复杂度呈指数级上升,软件定义车辆成为大势所趋,车辆软件的开发面临着巨大挑战。车辆新功能新需求的出现,没有过多的经验可以遵循,造成软件需求不断迭代,同时,软件的架构也需要支撑不断变化的需求。因此,对车辆软件的开发显得尤为重要。

2、目前,由于车辆功能复杂度的上升以及车辆软件占比的增加,对车辆软件的开发难度、开发效率和技术兼容性有了更高的要求。当开发人员在进行车辆软件开发时,通常需要手动输入代码,导致开发效率较低。


技术实现思路

1、本技术提供一种代码生成方法、装置、设备、介质及产品,用以提升软件开发的效率。

2、一方面,本技术提供一种代码生成方法,包括:接收代码生成请求,代码生成请求包括各设计要素的数据和目标类型;目标类型包括目标语言类型和目标通信协议类型,设计要素的数据包括目录数据和文件数据;根据目标类型,从文件库中确定目标模板,并基于目标模板生成每个设计要素对应的模板;文件库包括基于不同语言类型和通信协议类型的预先编写的模板;其中,目标模板采用目标语言类型和目标通信协议类型;模板包括目录模板和文件模板;针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块;以及,对该设计要素的数据进行数据转换;其中,转换后的设计要素的数据的数据格式与目标模板可识别的数据格式一致;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件。

3、在一种可能的实现方式中,根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件,包括:针对每个设计要素,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,得到该设计要素的代码文件。

4、在一种可能的实现方式中,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段,包括:将设计要素的数据中的目录数据,写入至数据结构表中用于定义目录的第一单元,以将第一单元中写入的数据填至各代码模板块中与第一单元相对应的字段;第一单元与各代码模板块中用于定义目录的字段一一对应;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,包括:将设计要素的数据中的文件数据,写入至数据结构表中用于定义属性的第二单元,以将第二单元中写入的数据填至各代码模板块中与第二单元相对应的字段;第二单元与各代码模板块中用于定义属性的字段一一对应。

5、在一种可能的实现方式中,针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块,包括:针对每个设计要素,确定该设计要素对应的模板中的每组结构标签,每组结构标签包括起始标签和对应的结束标签;针对每组结构标签,将该结构标签的起始标签和对应的结束标签之间的代码作为一个代码模板块,并根据设计要素中该代码模板块所对应的变量的数量确定该代码模板块的循环次数,将该代码模板块按照循环次数生成对应数量的代码模板块,得到设计要素的各代码模板块。

6、在一种可能的实现方式中,方法还包括:接收指定的文件存储位置,并在文件存储位置下创建存储文件夹;根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件之后,还包括:将目标代码文件保存至存储文件夹中。

7、另一方面,本技术提供一种代码生成装置,包括:接收模块,用于接收代码生成请求,代码生成请求包括各设计要素的数据和目标类型;目标类型包括目标语言类型和目标通信协议类型,设计要素的数据包括目录数据和文件数据;第一处理模块,用于根据目标类型,从文件库中确定目标模板,并基于目标模板生成每个设计要素对应的模板;文件库包括基于不同语言类型和通信协议类型的预先编写的模板;其中,目标模板采用目标语言类型和目标通信协议类型;模板包括目录模板和文件模板;第二处理模块,用于针对每个设计要素,基于该设计要素对应的模板划分获得该设计要素的各代码模板块;以及,对该设计要素的数据进行数据转换;其中,转换后的设计要素的数据的数据格式与目标模板可识别的数据格式一致;生成模块,用于根据每个设计要素的各代码模板块和转换后的该设计要素的数据,生成各设计要素的代码文件。

8、在一种可能的实现方式中,生成模块,具体用于:针对每个设计要素,将设计要素的数据中的目录数据,写入至该设计要素的各代码模板块中用于定义目录的字段;将设计要素的数据中的文件数据,写入至该设计要素的各代码模板块中用于定义属性的字段,得到该设计要素的代码文件。

9、在一种可能的实现方式中,生成模块,具体用于:将设计要素的数据中的目录数据,写入至数据结构表中用于定义目录的第一单元,以将第一单元中写入的数据填至各代码模板块中与第一单元相对应的字段;第一单元与各代码模板块中用于定义目录的字段一一对应;生成模块,具体还用于:将设计要素的数据中的文件数据,写入至数据结构表中用于定义属性的第二单元,以将第二单元中写入的数据填至各代码模板块中与第二单元相对应的字段;第二单元与各代码模板块中用于定义属性的字段一一对应。

10、在一种可能的实现方式中,第二处理模块,具体用于:针对每个设计要素,确定该设计要素对应的模板中的每组结构标签,每组结构标签包括起始标签和对应的结束标签;针对每组结构标签,将该结构标签的起始标签和对应的结束标签之间的代码作为一个代码模板块,并根据设计要素中该代码模板块所对应的变量的数量确定该代码模板块的循环次数,将该代码模板块按照循环次数生成对应数量的代码模板块,得到设计要素的各代码模板块。

11、在一种可能的实现方式中,装置还包括:第三处理模块,用于接收指定的文件存储位置,并在文件存储位置下创建存储文件夹;存储模块,用于将目标代码文件保存至存储文件夹中。

12、又一方面,本技术提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如前的方法。

13、又一方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如前的方法。

14、又一方面,本技术提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前的方法。

15、本技术提供的代码生成方法、装置、设备、介质及产品中,代码生成请求包括各设计要素的数据和目标类型,该目标类型指定需采用的目标语言类型和目标通信协议类型;根据目标类型,从文件库中确定相匹配的目标模板,并基于目标模板生成每个设计要素对应的模板;基于每个设计要素对应的模板获得每个设计要素的各代码模板块;根据每个设计要素的各代码模板块和设计要素的数据,生成各设计要素的代码文件。本技术的方案,针对复杂的车辆软件系统,基于每个设计要素的各代码模板块和转换后的设计要素的数据,生成各设计要素的代码文件,用模板化的方法实现软件开发,提高了软件的开发效率。并且,本方案中支持对软件的类型,比如代码语言和通信协议类型的设定,从而更加灵活便捷地实现多语言、多通信协议的软件开发,为多技术融合提供可扩展性的支持。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1