项目代码检测方法与装置、电子设备制造方法及图纸

技术编号:30317488 阅读:21 留言:0更新日期:2021-10-09 23:19
本申请公开了一种项目代码检测方法与装置、电子设备,该方法包括:获取项目代码文件和代码检查工具;根据项目代码文件确定代码检查工具所需执行的项目配置文件,项目配置文件用于配置以下至少之一的目录信息:在项目代码文件中待检查的源代码文件列表、源代码文件列表中的各源代码文件所需的头文件的路径、源代码文件列表中的各源代码文件所需的宏定义;根据代码检测工具对应的命令执行项目配置文件以检测源代码文件列表中的代码,从而通过项目配置文件实现对项目代码文件中需要检测的源代码文件进行预定义或模块化,避免对项目代码文件中的整个源代码文件进行检测,缩减人力成本,提高代码检测效率和准确性。提高代码检测效率和准确性。提高代码检测效率和准确性。

【技术实现步骤摘要】
项目代码检测方法与装置、电子设备


[0001]本申请涉及计算机
,具体涉及一种项目代码检测方法与装置、电子设备。

技术介绍

[0002]代码检测是保证软件质量的前提,而通过代码检测能有效识别代码中存在的一些质量问题,比如,识别代码的语义缺陷、告警、安全漏洞、故障、不一致、不可移植的结构、冗余代码等。
[0003]由于一个项目(如Android项目等)可能涉及几十至几千个的目录,而每个目录下又可能涉及几千至几万个的项目代码文件,因此一个项目可能包含几万至几十万个的项目代码文件。然而。在利用代码检测工具对成千上万的项目代码文件进行代码检测时,通常存在耗费时长、人力紧张、效率低下、检测错误多等问题。

技术实现思路

[0004]本申请实施例提供了一种项目代码检测方法与装置、电子设备,以期望通过项目配置文件实现对项目代码文件中需要检测的源代码文件进行预定义或模块化,避免对项目代码文件中的整个源代码文件进行检测,从而有利于缩减人力成本,提高代码检测效率和准确性。
[0005]第一方面,本申请实施例提供一种项目代码检测方法,包括:
[0006]获取项目代码文件和代码检测工具;
[0007]根据所述项目代码文件确定所述代码检测工具所需执行的项目配置文件,所述项目配置文件用于配置以下至少之一的目录信息:在所述项目代码文件中待检测的源代码文件列表、所述源代码文件列表中的各源代码文件所需的头文件的路径、所述源代码文件列表中的各源代码文件所需的宏定义;
[0008]根据所述代码检测工具对应的命令执行所述项目配置文件以检测所述源代码文件列表中的代码。
[0009]第二方面,本申请实施例提供一种项目代码检测装置,所述装置包括处理单元,所述处理单元用于:
[0010]获取项目代码文件和代码检测工具;
[0011]根据所述项目代码文件确定所述代码检测工具所需执行的项目配置文件,所述项目配置文件用于配置以下至少之一的信息:在所述项目代码文件中待检测的源代码文件列表、所述源代码文件列表中的各源代码文件所需的头文件的路径、所述源代码文件列表中的各源代码文件所需的宏定义;
[0012]根据所述代码检测工具对应的命令执行所述项目配置文件以检测所述源代码文件列表中的代码。
[0013]第三方面,本申请实施例提供一种电子设备,包括处理器、存储器和通信接口,所述存储器存储有至少一个程序,并且所述至少一个程序由所述处理器执行,所述至少一个
程序包括用于执行本申请实施例第一方面中的步骤的指令。
[0014]第四方面,本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储用于电子数据交换的计算机程序和数据,所述计算机程序和数据可操作来使得计算机执行本申请实施例第一方面中所描述的部分或全部步骤。
[0015]第五方面,本申请实施例提供一种计算机程序产品,其中,所述计算机程序产品包括计算机程序,所述计算机程序可操作来使得计算机执行本申请实施例第一方面中所描述的部分或全部步骤。所述计算机程序产品可以为一个软件安装包。
[0016]可以看出,获取项目代码文件和代码检测工具;根据项目代码文件确定代码检测工具所需执行的项目配置文件;根据代码检测工具对应的命令执行项目配置文件以检测源代码文件列表中的代码。由于项目配置文件用于配置以下至少之一的目录信息:在项目代码文件中待检测的源代码文件列表、源代码文件列表中的各源代码文件所需的头文件的路径、源代码文件列表中的各源代码文件所需的宏定义,因此当该项目配置文件配置有源代码文件列表(即由至少一个源代码文件所组成的目录)时,在执行该项目配置文件之后,将该源代码文件列表中的各源代码文件进行代码检测,从而通过项目配置文件实现对项目代码文件中需要检测的源代码文件进行预定义或模块化,避免对项目代码文件中的整个源代码文件进行检测,进而有利于缩减人力成本,提高代码检测效率和准确性。
[0017]另外,由于每个源代码文件可能需要(依赖)特定的头文件和/或特定的宏定义,因此该项目配置文件中还需要配置源代码文件所需的头文件的路径和/或源代码文件所需的宏定义等目录信息,避免因缺少特定的头文件和/或特定的宏定义而导致源代码文件的检测失败,从而有利于保证代码检测的准确性。
附图说明
[0018]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。对于本领域技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0019]图1是本申请实施例提供的一种电子设备的硬件结构示意图;
[0020]图2是本申请实施例提供的一种电子设备的软件结构示意图;
[0021]图3是本申请实施例提供的一种项目代码检测方法的流程示意图;
[0022]图4是本申请实施例提供的一种项目代码检测装置的功能单元组成框图;
[0023]图5是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0024]为了本
人员更好理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的部分实施例,而并非全部的实施例。基于本申请实施例的描述,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所保护的范围。
[0025]本申请的说明书、权利要求书以及附图中的“第一”、“第二”等术语是用于区别不同对象,而不是用于描述特定顺序。另外,术语“包括”和“具有”以及它们任何变形,意图在
circuit,I2C)接口、集成电路内置音频(inter

integrated circuit sound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general

purpose input/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口、通用串行总线(universal serial bus,USB)接口等中的至少之一。
[0034]需要说明的是,电子设备的无线通信功能可以通过天线1、天线2、移动通信模块120、无线通信模块130、调制解调处理器和基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。另外,不同的天线还可以复用以提高天线的利用率。例如,将天线1复用为无线局域网的分集天线。
[0035]具体的,移动通信模块12本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种项目代码检测方法,其特征在于,包括:获取项目代码文件和代码检测工具;根据所述项目代码文件确定所述代码检测工具所需执行的项目配置文件,所述项目配置文件用于配置以下至少之一的目录信息:在所述项目代码文件中待检测的源代码文件列表、所述源代码文件列表中的各源代码文件所需的头文件的路径、所述源代码文件列表中的各源代码文件所需的宏定义;根据所述代码检测工具对应的命令执行所述项目配置文件以检测所述源代码文件列表中的代码。2.根据权利要求1所述的方法,其特征在于,所述根据所述项目代码文件确定所述代码检测工具所需执行的项目配置文件,包括:将所述项目代码文件中的第一类组织文件进行格式转换以得到第二类组织文件,所述第二类组织文件的内容信息用于将所述项目代码文件中待检测的所述源代码文件列表中的各源代码文件编译成二进制可执行文件;根据所述第二类组织文件确定所述代码检测工具所需执行的所述项目配置文件。3.根据权利要求2所述的方法,其特征在于,所述第一类组织文件包括Makefile文件和Blueprint文件,所述第二类组织文件包括第一类Ninja文件和第二类Ninja文件;所述将所述项目代码文件中的第一类组织文件进行格式转换以得到第二类组织文件,包括:将所述项目代码文件中的所述Makefile文件转换成Ninja格式的组织文件以得到所述第一类Ninja文件;将所述项目代码文件中的所述Blueprint文件转换成Ninja格式的组织文件以得到所述第二类Ninja文件。4.根据权利要求2所述的方法,其特征在于,所述根据所述第二类组织文件确定所述代码检测工具所需执行的所述项目配置文件,包括:从所述第二类组织文件的内容信息中提取目标内容信息,所述目标内容信息包括以下至少之一:在所述项目代码文件中待检测的所述源代码文件列表的目录、所述源代码文件列表中的各源代码文件所需的头文件的路径的目录、所述源代码文件列表中的各源代码文件所...

【专利技术属性】
技术研发人员:杨振罗昆元
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

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

1