代码处理方法、装置、电子设备和介质制造方法及图纸

技术编号:25834304 阅读:15 留言:0更新日期:2020-10-02 14:15
本公开提供了一种代码处理方法,包括:获取待分析代码,所述待分析代码包括关键字符;根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,所述目标信息包括目标库、目标表和目标字段中的至少一个,所述依赖信息包括依赖库、依赖表和依赖字段中的至少一个;以及基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图,以便分析所述代码。本公开还提供了一种代码处理装置、电子设备和介质。

【技术实现步骤摘要】
代码处理方法、装置、电子设备和介质
本公开涉及计算机
,更具体地,涉及一种代码处理方法、装置、电子设备和介质。
技术介绍
代码逐渐累积为一笔巨大的资产沉淀。相关技术大多集中于如何在可视化界面中更便捷的编写代码,或代码执行结果的可视化展示,多用于辅助业务人员进行数据分析,基本没有面向技术人员的代码逻辑梳理工具。在实际业务场景中,面对历史代码的再利用或优化需求时,技术人员更倾向于选择二次开发,此时历史资产价值变为0,或在客观条件不允许重新开发时,技术人员便需耗费大量时间通过阅读代码进行再梳理。
技术实现思路
有鉴于此,本公开提供了一种代码处理方法、装置、电子设备和介质。本公开的一个方面提供了一种代码处理方法,包括:获取待分析代码,所述待分析代码包括关键字符;根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,所述目标信息包括目标库、目标表和目标字段中的至少一个,所述依赖信息包括依赖库、依赖表和依赖字段中的至少一个;以及基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图,以便分析所述代码。根据本公开的实施例,关键字符包括代码块划分标识,所述根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系包括:根据所述代码块划分标识,将所述待分析代码划分为多个代码块;确定所述多个代码块中每个代码块的目标信息和依赖信息,所述目标信息包括目标库和目标表,所述依赖信息包括所述目标表所依赖的依赖库和依赖表;以及根据所述每个代码块的目标库、目标表、所述目标表所依赖的依赖库和依赖表,生成第一结果表,作为所述依赖关系。根据本公开的实施例,基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图包括:利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑可视化信息。根据本公开的实施例,该方法还包括根据所述每个代码块的目标信息,生成第二结果表,所述第二结果表中包括目标表的字段列表,所述利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑可视化信息包括:利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑关系视图;读取所述第二结果表,以确定所述目标表的字段列表;以及根据所述目标表的字段列表和所述逻辑关系视图,生成所述逻辑可视化视图。根据本公开的实施例,利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑关系视图包括:在所述第一结果表指示特定目标表依赖的依赖表作为历史目标表出现多次的情况下,确定所述依赖表作为历史目标表的多个代码块和所述多个代码块执行的先后顺序,以及将所述多个代码块中最后执行的代码块生成的所述历史目标表作为所述依赖表。本公开的另一个方面提供了一种代码处理装置,包括:获取模块,用于获取待分析代码,所述待分析代码包括关键字符;确定模块,用于根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,所述目标信息包括目标库、目标表和目标字段中的至少一个,所述依赖信息包括依赖库、依赖表和依赖字段中的至少一个;以及生成模块,用于基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图,以便分析所述代码。根据本公开的实施例,关键字符包括代码块划分标识,所述确定模块包括:划分子模块,用于根据所述代码块划分标识,将所述待分析代码划分为多个代码块;确定子模块,用于确定所述多个代码块中每个代码块的目标信息和依赖信息,所述目标信息包括目标库和目标表,所述依赖信息包括所述目标表所依赖的依赖库和依赖表;以及生成子模块,用于根据所述每个代码块的目标库、目标表、所述目标表所依赖的依赖库和依赖表,生成第一结果表,作为所述依赖关系。根据本公开的实施例,生成模块包括:生成子模块,用于利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑可视化信息。本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的方法。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的可以应用代码处理方法的应用场景;图2示意性示出了根据本公开实施例的代码处理方法的流程图;图3示意性示出了根据本公开实施例的根据关键字符,确定待分析代码中的目标信息、依赖信息以及目标信息和依赖信息之间的依赖关系方法的流程图;图4示意性示出了根据本公开另一实施例的代码处理方法的流程图;图5示意性示出了根据本公开实施例的代码处理装置的方框图;以及图6示意性示出了根据本公开实施例的电子设备的方框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本文档来自技高网...

【技术保护点】
1.一种代码处理方法,包括:/n获取待分析代码,所述待分析代码包括关键字符;/n根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,所述目标信息包括目标库、目标表和目标字段中的至少一个,所述依赖信息包括依赖库、依赖表和依赖字段中的至少一个;以及/n基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图,以便分析所述代码。/n

【技术特征摘要】
1.一种代码处理方法,包括:
获取待分析代码,所述待分析代码包括关键字符;
根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,所述目标信息包括目标库、目标表和目标字段中的至少一个,所述依赖信息包括依赖库、依赖表和依赖字段中的至少一个;以及
基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图,以便分析所述代码。


2.根据权利要求1所述的方法,其中,所述关键字符包括代码块划分标识,
所述根据所述关键字符,确定所述待分析代码中的目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系包括:
根据所述代码块划分标识,将所述待分析代码划分为多个代码块;
确定所述多个代码块中每个代码块的目标信息和依赖信息,所述目标信息包括目标库和目标表,所述依赖信息包括所述目标表所依赖的依赖库和依赖表;以及
根据所述每个代码块的目标库、目标表、所述目标表所依赖的依赖库和依赖表,生成第一结果表,作为所述依赖关系。


3.根据权利要求2所述的方法,其中,所述基于所述目标信息、依赖信息以及所述目标信息和所述依赖信息之间的依赖关系,生成所述待分析代码的逻辑可视化视图包括:
利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑可视化信息。


4.根据权利要求3所述的方法,还包括:
根据所述每个代码块的目标信息,生成第二结果表,所述第二结果表中包括目标表的字段列表,
所述利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑可视化信息包括:
利用Python或者图数据库中的可视化工具对所述第一结果表进行处理而获得逻辑关系视图;
读取所述第二结果表,以确定所述目标表的字段列表;以及
根据所述目标表的字段列表和所述逻辑关系视图,生成所述逻辑可视化视图。


5.根据权利要求4所述的方法,其中,所述利用Python或者图数据库中的可视化工具对所...

【专利技术属性】
技术研发人员:郝芳郭运雷朱丹曹帅毅
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1