本发明涉及代码数据处理,特别涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术:
1、随着自动驾驶成为未来汽车的主流趋势,软件定义汽车已成为一个热点话题。自动驾驶汽车不仅是一个带轮子的巨大的计算机,更是一个由执行或负责不同任务的联网计算机组成的数据中心,汽车软件的安全性受到越来越多的关注,而其软件设计也成为了格外瞩目的对象,随着汽车软件复杂度和迭代速度不断提升,对逻辑设计的效率提出了很高的要求。
2、流程图作为业务逻辑的一种可视化表达方式,能够帮助软件设计过程中各成员间的逻辑统一。目前基于部分第三方软件可以生成函数流程图,但生成的流程图无法直接进行二次编辑,在已有代码的软件基础上进行更新设计的情况下,对原有设计做新的开发设计需要消耗很大的人力及时间,大大降低工作效率。
技术实现思路
1、针对现有技术的上述问题,本发明公开提供一种数据处理方法、装置、电子设备及存储介质,能够基于代码快速生成可编辑的函数执行流程图,便于在原有软件基础上做新的开发设计时进行二次编辑,提升效率。本发明公开的技术方案如下:
2、根据本发明公开的实施例的一方面,提供一种数据处理方法,包括:
3、获取目标代码中至少一个函数的流程节点描述信息和所述至少一个函数的流程节点链接信息;
4、基于所述流程节点描述信息、所述流程节点链接信息及预设生成规则,生成所述至少一个函数对应的目标可编辑文件,所述目标可编辑文件以预设可编辑格式,表征所述至少一个函数的执行逻辑。
5、可选的,所述获取目标代码中至少一个函数的流程节点描述信息和所述至少一个函数的流程节点链接信息包括:
6、对所述目标代码进行函数识别处理,得到所述目标代码中所述至少一个函数各自对应的目标函数内容信息;
7、对所述目标函数内容信息进行解析处理,得到任一函数对应的至少一个函数结构信息、所述至少一个函数结构信息对应的内容参数信息及所述至少一个函数各自对应的执行顺序信息;
8、基于所述至少一个函数结构信息、所述内容参数信息及所述执行顺序信息,确定每个函数的流程节点描述信息和所述每个函数的流程节点链接信息。
9、可选的,所述对所述目标函数内容信息进行解析处理,得到任一函数对应的至少一个函数结构信息、所述至少一个函数结构信息对应的内容参数信息及所述至少一个函数各自对应的执行顺序信息包括:
10、基于预设关键信息,对所述目标函数内容信息进行关键信息识别处理,得到至少一个关键信息;
11、基于所述至少一个关键信息,对所述目标函数内容信息进行拆分处理,得到每个关键信息对应的子函数内容信息;
12、将所述子函数内容信息作为所述至少一个函数结构信息对应的内容参数信息;
13、将所述至少一个关键信息对应的函数结构信息作为所述至少一个函数结构信息;
14、遍历所述目标函数内容信息,确定所述执行顺序信息。
15、可选的,所述基于所述至少一个函数结构信息、所述内容参数信息及所述执行顺序信息,确定每个函数的流程节点描述信息和所述每个函数的流程节点链接信息包括:
16、基于所述至少一个函数结构信息及所述至少一个函数结构信息对应的内容参数信息,确定所述每个函数的至少一个流程节点描述信息;
17、基于所述执行顺序信息,确定所述每个函数的流程节点链接信息。
18、可选的,所述对所述目标代码进行函数识别处理,得到所述目标代码中所述至少一个函数各自对应的目标函数内容信息包括:
19、对所述目标代码进行词法分析,得到所述目标代码的若干词法单元;
20、对所述若干词法单元进行语法分析,生成所述至少一个函数对应的语法树;
21、对所述语法树进行转换处理,得到所述至少一个函数各自对应的初始函数内容信息,所述初始函数内容信息为自然语言描述的函数内容信息;
22、基于代码转换关系,将所述初始函数内容信息转换为所述目标函数内容信息。
23、可选的,所述对所述目标代码进行函数识别处理,得到所述目标代码中所述至少一个函数各自对应的目标函数内容信息包括:
24、对所述目标代码进行函数识别处理,得到所述目标代码中所述至少一个函数各自对应的目标函数内容信息和函数标识信息;
25、相应的,所述基于所述流程节点描述信息、所述流程节点链接信息及预设文件模板,生成所述至少一个函数对应的目标可编辑文件包括:
26、基于所述函数标识信息、所述流程节点描述信息、所述流程节点链接信息及预设文件模板,生成所述至少一个函数对应的目标可编辑文件。
27、可选的,所述获取目标代码中至少一个函数的流程节点描述信息和所述至少一个函数的流程节点链接信息包括:
28、获取所述目标代码中所述至少一个函数的函数流程图;
29、对所述函数流程图进行文本识别处理,得到函数流程文本信息;
30、基于预设标识信息,从所述函数流程文本信息中提取描述标识信息和链接标识信息;
31、将所述描述标识信息对应的描述信息作为所述流程节点描述信息;
32、将所述链接标识信息对应的链接信息作为所述流程节点链接信息。
33、根据本发明公开实施例的另一方面,提供一种数据处理装置,包括:
34、获取模块,用于获取目标代码中至少一个函数的流程节点描述信息和所述至少一个函数的流程节点链接信息;
35、可编辑文件生成模块,用于基于所述流程节点描述信息、所述流程节点链接信息及预设文件模板,生成所述至少一个函数对应的目标可编辑文件,所述目标可编辑文件以预设可编辑格式,表征所述至少一个函数的执行逻辑。
36、根据本发明公开实施例的另一方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的数据处理方法。
37、根据本发明公开实施例的另一方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本发明公开实施例的任一项所述的数据处理方法。
38、根据本发明公开实施例的另一方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明公开实施例的任一项所述的数据处理方法。
39、本发明公开的实施例提供的技术方案至少带来以下有益效果:
40、本发明提供的数据处理方法获取目标代码中至少一个函数的流程节点描述信息和至少一个函数的流程节点链接信息,基于上述信息及预设文件模板,生成至少一个函数对应的可编辑文件,其中,可编辑文件以预设可编辑格式,表征至少一个函数的执行逻辑,能够基于代码快速生成可编辑的函数执行流程图,便于在原有软件基础上做新的开发设计时进行二次编辑,提升效率。
41、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。