一种代码检查方法、装置、电子设备和存储介质制造方法及图纸

技术编号:26504540 阅读:15 留言:0更新日期:2020-11-27 15:32
本申请涉及计算机技术领域,尤其涉及一种代码检查方法、装置、电子设备和存储介质。本说明书提供的一种代码检查方法,包括:获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名,且为目标应用程序的代码文件;获取第二列表,所述第二列表包含目标代码片段;对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段;若否,则判断所述第一列表存在异常代码文件或者所述第二列表存在异常代码片段。本方案能够有效快速地感知因代码改动而导致的某些代码信息丢失的情况。

【技术实现步骤摘要】
一种代码检查方法、装置、电子设备和存储介质
本申请涉及计算机
,尤其涉及一种代码检查方法、装置、电子设备和存储介质。
技术介绍
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。埋点是网络应用产品的一种常用的数据采集方法,主要用来采集用户行为数据,例如页面访问路径、点击了什么元素等,进行数据分析,从而让用户更加合理的安排运营计划。埋点存在于代码中,若一旦有代码改动导致埋点丢失,外界是无法感知的。因此,本领域需要一种能够对代码进行检查的方法。
技术实现思路
有鉴于此,本说明书实施例提供了一种程序代码检查方法、装置、电子设备和存储介质,用于对代码进行检查,以快速、全面地排查代码的异常问题。本说明书实施例采用下述技术方案:本说明书实施例提供了一种代码检查方法,该方法包括:获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名,且为目标应用程序的代码文件;获取第二列表,所述第二列表包含目标代码片段;对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段;若否,则判断所述第一列表存在异常代码文件或者所述第二列表存在异常代码片段。本说明书还提供了一种代码检查装置,该装置包括:第一获取模块,所述第一获取模块用于获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名的代码文件;第二获取模块,所述第二获取模块用于获取第二列表,所述第二列表包含目标代码片段;第一扫描模块,所述第一扫描模块用于对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段;第一判断模块,所述第一判断模块用于判断所述第一列表是否存在异常代码文件,或者用于判断所述第二列表是否存在异常代码片段。本说明书还提供了一种电子设备,包括:至少一个处理器和存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行上述的代码检查方法。本说明书还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的代码检查方法。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书的方案通过获取包含目标代码文件的第一列表和包含目标代码片段的第二列表,然后逐级遍历所有目标代码片段,以判断第一列表中的目标代码文件中是否存在该目标代码片段。这样一来,通过全方位的自动化执行扫描代码可以有效快速地感知目标代码片段或目标代码文件的异常情况,减少因代码改动导致的代码丢失的情况。此外,本方案还提升了代码回归测试的覆盖率以及测试效率,有效节约了人力资源。同时,可以提高团队协作的便捷性,即在异常代码输出后,相关人员可以查看相关异常代码数据以及原因,从而快速定位问题。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:图1是本说明书实施例提供的一种代码检查方法的主要流程图;图2是本说明书实施例提供的一种埋点检查方法的详细流程图;图3是本说明书实施例提供的一种代码检查装置的结构框图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。参照图1,图1是本说明书实施例提供的一种代码检查方法的主要流程图。如图1所示,本说明书的方法包括:S110:获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名,且为目标应用程序的代码文件。在该步骤中,各端的文件后缀名定义取自代码中使用的开发语言,例如:oc:‘.m’,java:‘.java’等;各端是指代码运行的系统端,如iOS端、Android端等。在获取指定后缀名的代码文件时,可以通过递归查找代码中的文件并写入第一列表。具体而言,首先获取当前端代码,当前端为能够运行所述代码的系统端;然后递归查找每一层的文件夹,并判断下一层是文件夹还是文件;如果是文件,且该文件是指定后缀,则将该代码文件写入第一列表中;如果下一层是文件夹,则再次访问该文件夹的下一层,直到判断其下一层是指定后缀名的文件则结束访问,并将该代码写入第一列表。上述中,在获取当前端代码时,一般拉取当前端最新的技术代码,同时及时更新H5(html5)以及RN的内置包代码。进而通过递归查找的方式,可以全面、无遗漏地将代码中指定后缀名的文件写入第一列表。进一步地,在该步骤中,若有多个带有不同指定后缀名的目标代码文件,即当需要获取多个带有不同后缀名的目标代码文件时,可以将所述目标代码文件中指定后缀名相同的目标代码文件写入同一列表,以及将所述目标代码文件中指定后缀名不同的目标代码文件写入不同列表,并将得到的多个列表作为所述第一列表。换言之,将指定后缀名相同的文件写入同一列表,这样就得到多个列表,每个列表中都是带有同一指定后缀名的目标代码文件,将这多个列表作为第一列表。S120:获取第二列表,所述第二列表包含目标代码片段。在该步骤中,可以先通过访问目标代码片段管理平台的数据接口,获取所述目标代码片段的数据信息;然后将获取到的目标代码片段的数据信息写入数据库,作为目标代码片段集合,这样一来,数据库中即预先存储了与各个端对应的目标代码片段集合。当需要获取第二列表时,再从数据库中筛选与所述当前端代码对应的目标代码片段,将筛选出的目标代码片段写入列表以得到第二列表。上述中,获取的目标代码片段的数据信息可以包含多个字段信息,如目标代码片段的名称、标记方式、优先级、所属版本等等。在确定第一列表之后,根据第一列表中的目标代码文件所对应的当前端代码,从目标代码片段集合中筛选这些字段信息可以准确地获取到相应的目标代码片段,以得到第二列表。S130:对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段。S140:若否,则判断所述第一列表存在异常代码文件或者所述第二列表存在异常代码片段。在步骤S130-S140中,基于上述获取到的第一列表和第二列表,先依次获取所述第二列表中的每一个目标代码片段,对于所述每一个目标代码片段,均执行如下操作:依次对所述第一列表中的目标代码文件进行全局扫描,若未扫描到相应的目标代码片段,则确定所述目标代码文件中未本文档来自技高网
...

【技术保护点】
1.一种代码检查方法,其特征在于,该方法包括:/n获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名,且为目标应用程序的代码文件;/n获取第二列表,所述第二列表包含目标代码片段;/n对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段;/n若否,则判断所述第一列表存在异常代码文件或者所述第二列表存在异常代码片段。/n

【技术特征摘要】
1.一种代码检查方法,其特征在于,该方法包括:
获取第一列表,所述第一列表包含目标代码文件,所述目标代码文件为带有指定后缀名,且为目标应用程序的代码文件;
获取第二列表,所述第二列表包含目标代码片段;
对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段;
若否,则判断所述第一列表存在异常代码文件或者所述第二列表存在异常代码片段。


2.根据权利要求1所述的方法,其特征在于,将所述第二列表中未包含在所述第一列表中的目标代码文件中的目标代码片段作为异常代码片段。


3.根据权利要求2所述的方法,其特征在于,获取第一列表,具体包括:
获取当前端代码,所述当前端为能够运行所述代码的系统端;
查找所述当前端代码中的目标代码文件,将所述目标代码文件写入列表以得到所述第一列表。


4.根据权利要求3所述的方法,其特征在于,将所述目标代码文件写入列表以得到所述第一列表,具体包括:
若有多个带有不同指定后缀名的目标代码文件,则将所述目标代码文件中指定后缀名相同的文件写入同一列表,以及将所述目标代码文件中指定后缀名不同的文件写入不同列表,并将得到的多个列表作为所述第一列表。


5.根据权利要求3所述的方法,其特征在于,获取第二列表,具体包括:
从数据库中筛选与所述当前端代码对应的目标代码片段;
将筛选出的目标代码片段写入列表以得到第二列表;
其中,所述数据库中预先存储有与各个端对应的目标代码片段集合。


6.根据权利要求5所述的方法,其特征在于,所述数据库中的目标代码片段集合按照如下方式得到:
访问目标代码片段管理平台的数据接口,获取所述目标代码片段的数据信息;
将获取到的目标代码片段的数据信息写入数据库,作为目标代码片段集合。


7.根据权利要求5所述的方法,其特征在于,对所述第一列表中的目标代码文件进行全局扫描,以确定所述目标代码文件中是否包含所述第二列表中的目标代码片段,具体包括:
依次获取所述第二列表中的每一个目标代码片段,对于所述每一个目标代码片段,均执行如下操作:
依次对所述第一列表中的目标代码文件进行全局扫描,若未扫描到相应的目标代码片段,则确定所述目标代码文件中未包含该目标代码片段;若扫描到相应的目标代码片段,则结束针对该目标代码片段的扫描。


8.根据权利要求7所述的方法,其特征在于,依次对所述第一列表中的目标代码文件进行全局扫描之前,所述方法还包括:
对所述目标代码文件中的注释数据进行过滤。


9.根据权利要求7所述的方法,其特征在于,依次获取所述第二列表中的每一个目标代码片段之前,所述方法还包括:
确定所述目标代码片段的优先级;其中,所述优先级为预先为所述目标...

【专利技术属性】
技术研发人员:马佳鑫孙明昌曲颖
申请(专利权)人:得到天津文化传播有限公司
类型:发明
国别省市:天津;12

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

1