CN116483722A - 代码检测的方法、装置、电子设备、存储介质及程序产品 - Google Patents

代码检测的方法、装置、电子设备、存储介质及程序产品 Download PDF

Info

Publication number
CN116483722A
CN116483722A CN202310465257.3A CN202310465257A CN116483722A CN 116483722 A CN116483722 A CN 116483722A CN 202310465257 A CN202310465257 A CN 202310465257A CN 116483722 A CN116483722 A CN 116483722A
Authority
CN
China
Prior art keywords
target
code
detection
codes
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310465257.3A
Other languages
English (en)
Inventor
金朝麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Youzhuju Network Technology Co Ltd
Original Assignee
Beijing Youzhuju Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Youzhuju Network Technology Co Ltd filed Critical Beijing Youzhuju Network Technology Co Ltd
Priority to CN202310465257.3A priority Critical patent/CN116483722A/zh
Publication of CN116483722A publication Critical patent/CN116483722A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种代码检测的方法、装置、电子设备、存储介质及程序产品,该方法包括确定待检测的多组目标代码;对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测,从而实现对不同组的代码进行差异化检测,同时,目标检测条件集合由预设基础检测条件集合和每组代码单独对应的附加条件确定,即满足了不同组代码的差异化检测需求,又避免了每组代码的检测条件集合均需要重新设置,提高了代码检测的效率。

Description

代码检测的方法、装置、电子设备、存储介质及程序产品
技术领域
本申请涉及代码检测技术领域,尤其涉及一种代码检测的方法、装置、电子设备、存储介质及程序产品。
背景技术
在现代软件开发中,开发人员经常需要对代码质量进行检测。但是,目前相关技术中的代码检测工具无法对代码按照对应规范进行差异化检测,无法满足实际需求。
发明内容
有鉴于此,本申请的目的在于提出一种代码检测的方法、装置、电子设备、存储介质及程序产品,用以满足对代码进行差异化检测的需求。
基于上述目的,本申请提供了一种代码检测的方法,包括:
确定待检测的多组目标代码;
对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
基于同一发明构思,本申请示例性实施例还提供了一种代码检测的装置,包括:
确定模块,确定待检测的多组目标代码;
检测模块,对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
基于同一发明构思,本申请示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如上所述的代码检测的方法。
基于同一发明构思,本申请示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的代码检测的方法。
基于同一发明构思,本申请示例性实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如上所述的代码检测的方法。
从上面所述可以看出,本申请提供的代码检测的方法、装置、电子设备、存储介质及程序产品,确定待检测的多组目标代码;对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测,从而实现对不同组的代码进行差异化检测,同时,目标检测条件集合由预设基础检测条件集合和每组代码单独对应的附加条件确定,即满足了不同组代码的差异化检测需求,又避免了每组代码的检测条件集合均需要重新设置,提高了代码检测的效率。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种应用场景的示意图;
图2为本申请实施例的一种代码检测的方法的流程示意图;
图3为本申请实施例的另一种代码检测的方法的流程示意图;
图4为本申请实施例的一种代码检测的装置的结构示意图;
图5为本申请实施例的一种具体的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
可以理解的是,在使用本申请各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本申请所涉及个人信息的类别、使用范围、使用场景等告知用户并获得用户的授权。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件、物件或者方法步骤涵盖出现在该词后面列举的元件、物件或者方法步骤及其等同,而不排除其他元件、物件或者方法步骤。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,目前相关技术中的代码检测工具无法对代码按照对应规范进行差异化检测。而在实用开发中,即使是同一代码库的代码也可能对应多个项目(目录)的代码,而不同的项目一般由不同的团队进行维护,因此,每个团队可能需要单独的检测条件集合,因此,只通过一种检测条件集合来对代码进行检测,无法满足实际需求。
在上述实际情况下,本申请提供了一种代码检测的方法,先确定待检测的多组目标代码;然后对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测,从而实现对不同组的代码进行差异化检测,同时,目标检测条件集合由预设基础检测条件集合和每组代码单独对应的附加条件确定,即满足了不同组代码的差异化检测需求,又避免了每组代码的检测条件集合均需要重新设置,提高了代码检测的效率。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
在一些具体的应用场景中,本申请的代码检测的方法可以应用于各种涉及代码检测的平台或系统中,例如基于Monorepo(单一代码库)的开发平台。作为一种示例,该应用场景包括至少一个服务器和至少一个终端。服务器与终端之间可以通过网络进行通信,以实现数据的传输。其中,网络可以是有线网络或无线网络,本申请对此不作具体限定。
服务器可以是提供各种服务的服务器。具体的,服务器可以用于为终端运行的应用程序提供后台服务。可选的,在一些实现方式中,本申请实施例提供的代码检测的方法可以由服务器执行。服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。本申请实施例对此不作具体限定。
参考图1,其为本申请示例性实施例提供的代码检测的方法的一种应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101的用户提供代码检测的服务,终端设备101中安装有与服务器102通信的客户端,用户可通过该客户端进行数据获取。在代码检测的过程中,服务器102在确定待检测的多组目标代码后,可以对多组目标代码进行检测。可选的,代码检测的过程也可以由客户端来完成,对此不做限定。
数据存储系统103中存储有各种与代码检测相关的数据。终端设备101和服务器102均可以从数据存储系统103随机调取各种数据。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的代码检测的方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
参考图2,本申请实施例提供了一种代码检测的方法,该方法包括以下步骤:
S101,确定待检测的多组目标代码。
具体实施时,在对代码进行检测时,先确定待检测即需要进行检测的代码,可选的,待检测的目标代码包括多个组,其中,不同组的代码可以对应不同的目录或项目,对此不做限定。例如,对于同一款应用(APP)的代码,可以按照不同的上线版本分为PC端、移动端两组。可选的,待检测的多组目标代码可以是全量代码或增量代码,对此不做限定。
在一些实施例中,所述多组目标代码属于同一代码仓库。
在一些实施例中,确定待检测的多组目标代码,具体包括:
确定本次代码提交和上次代码提交之间的变更信息;
基于所述变更信息确定所述多组目标代码。
具体实施时,考虑到在代码检测过程中,全量检测耗时长、效率低下,因此,可以从全量代码中先筛选出当前发生变化的增量代码,然后只对增量代码进行检测。可选的,在确定增量代码时,先确定本次代码提交和上次代码提交之间的变更信息,然后根据所述变更信息确定所述多组目标代码。可选的,可以通过Git工具获取本次代码提交和上次代码提交之间的变更信息。
在一些实施例中,基于所述变更信息确定待检测的多组目标代码,具体包括:
获取所述变更信息中的每个文件名称的种类,其中,所述变更信息中包括多种文件名称;
通过正则匹配从所述多种文件名称中得到代码种类的目标文件名称集合;
基于预设格式条件对所述目标文件名称集合进行格式替换,并基于格式替换后的所述目标文件名称集合确定所述多组目标代码。
具体实施时,考虑到确定的本次代码提交和上次代码提交之间的变更信息中可能包括非代码信息,为了提高代码检测的精准度,可以通过正则匹配从所述多种文件名称中得到代码种类的目标文件名称集合。可选的,在获取变更信息中的每个文件名称的种类时,可以直接通过每个文件名称的后缀来确定其种类,然后利用代码种类的后缀进行正则匹配得到代码种类的目标文件名称集合。在得到目标文件名称集合后,就可以通过各个目标文件名称确定其对应的目标代码。为了便于检测时系统能够准确识别目标文件名称,可以根据预设格式条件对所述目标文件名称集合进行格式替换。可选的,预设格式条件可以根据需要进行设置,对此不做限定,例如,可以将换行格式替换为空格格式。
S102,对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
具体实施时,在确定多组目标代码后,可以先根据预设基础检测条件集合及每组目标代码对应的附加条件确定每组目标代码对应的目标检测条件集合,然后根据每组目标代码对应的目标检测条件集合对该组目标代码进行检测。可选的,可以将目标检测条件集合设置在代码检测工具中,然后通过代码检测工具来完成代码检测。可选的,可以根据需要选择具体的代码检测工具,对此不做限定,例如,可以选用ESLint插件来进行代码检测。
在一些实施例中,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合,具体包括:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;
将所述目标代码对应的附加条件增加到所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
具体实施时,在设置各组目标代码时,可以先设置一个通用的预设基础检测条件集合,即一般每组目标代码都需要进行的基础检查条件集合,然后将每组目标代码对应的附加条件增加到所述预设基础检测条件集合中,确定该组目标代码对应的目标检测条件集合。可选的,附加条件可以为多个或一个,对此不做限定。需要说明的是,本实施例中的预设基础检测集合属于或等于目标检测条件集合。所述预设基础检测条件集合和附加条件都可以根据需要进行设置,对此不做限定。
在一些实施例中,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合,具体包括:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;其中,所述目标代码对应的附加条件包括所述目标检测条件集合对应的标识信息;
基于所述标识信息从所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
具体实施时,为了进一步提高确定目标检测条件集合的效率,可以将预设基础检测条件集合设置为全量检测条件集合,即预设基础检测条件集合包括了所有目标代码需要的检测条件,然后各组目标代码通过其对应的标识信息从所述预设基础检测条件集合中确定各自对应的目标检测条件集合。可选的,标识信息可以根据需要进行设置,例如,可以将标识信息设置为预设基础检测条件集合中各个检测条件的开启或关闭标识。
在一些实施例中,在基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合之后,所述方法还包括:
响应于确定所述目标代码对应的附加条件为不做检测时,跳过对所述目标代码进行检测的步骤。
具体实施时,考虑到一些目标代码可能不需要进行检测,因此,可以在每个目标代码对应的附加条件中添加不做检测的信息,从而可以直接跳过对该目标代码进行检测的步骤。可选的,可以在系统中设置不进行代码检测的默认条件,当附加条件为空时,可以直接执行该不进行代码检测的默认条件。
在一些实施例中,所述预设基础检测条件集合中包括多个预设测试用例,所述多个预设测试用例共用一个通用执行引擎,所述多个测试用例的格式与所述多组目标代码的格式相同。
具体实施时,发明人发现,目前相关技术中,默认的检测条件中每个测试用例均配置有一个执行引擎,即在检测条件中每添加一个测试用例就需要为该测试用例配置一个执行引擎,这导致了检测条件中的测试用例的整体结构比较复杂,而且,目前默认的检测条件中的测试用例的格式与最终需要进行检测的代码的格式有一定的差异,这导致了通过测试用例来判断检测条件的检测效果时,不能准确且直观的获取到检测效果。因此,本实施例中,在检测条件中设置了一种新的测试用例的结构,该结构包括:预设基础检测条件集合中包括多个预设测试用例,所述多个预设测试用例共用一个通用执行引擎,即所有测试用例通过一个通用执行引擎来执行,各个测试用例分布在同一个执行引擎的不同目录中,并且参考目标代码的格式使得所述多个测试用例的格式与所述多组目标代码的格式相同。
需要说明的是,代码测试条件的测试用例一般至少包括一个正确测试用例,一个错误测试用例,以及错误测试用例对应的错误信息反馈。上述实施例中具体的测试用例可以根据需要进行设置,对此不做限定。
在一些实施例中,所述预设基础检测条件集合中还包括与所述多个预设测试用例对应的通用配置信息。
具体实施时,为了进一步减少相关技术中的检测条件的复杂度,本实施例中,所述预设基础检测条件集合中还包括与所述多个预设测试用例对应的通用配置信息,从而每个测试用例都可以使用通用配置信息,不再需要为每个测试用例单独设置配置信息。
在一些实施例中,所述预设基础检测条件集合中还包括与单个预设测试用例对应的专有配置信息,所述专有配置信息的执行优先级大于所述通用配置信息的执行优先级。
具体实施时,考虑到,有时不同的测试用例会有单独的配置需求,本实施例中,所述预设基础检测条件集合中还包括与单个预设测试用例对应的专有配置信息,在使用配置信息时,可以先确定每个预设测试用例是否对应存在专有配置信息,若存在,则优先执行该专有配置信息,若不存在,则执行所述通用配置信息。
参考图3,为本申请实施例的另一种代码检测的方法的流程示意图,其中,当前待检测的多组目标代码包括第一组目标代码、第二组目标代码及第三组目标代码,在进行代码检测时,先根据预设基础检测条件集合及各组目标代码对应的附加条件,确定各组目标代码的目标检测条件。例如,图3中,第一组目标代码的目标检测条件可以通过预设基础测试条件集合和第一组附加条件来确定,然后当目标检测条件为不做检测时,直接跳过该组目标代码的检测,例如图3中的第三组目标代码,当目标检测条件为具体的检测条件时,通过目标检测条件对目标代码进行检测,例如,图3中的第一组目标代码和第二组目标代码。
本申请提供的代码检测的方法、装置、电子设备、存储介质及程序产品,确定待检测的多组目标代码;对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测,从而实现对不同组的代码进行差异化检测,同时,目标检测条件集合由预设基础检测条件集合和每组代码单独对应的附加条件确定,即满足了不同组代码的差异化检测需求,又避免了每组代码的检测条件集合均需要重新设置,提高了代码检测的效率。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本申请实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种代码检测的装置。
参考图4,所述代码检测的装置,包括:
确定模块201,确定待检测的多组目标代码;
检测模块202,对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
在一些实施例中,所述确定模块具体用于:
确定本次代码提交和上次代码提交之间的变更信息;
基于所述变更信息确定所述多组目标代码。
在一些实施例中,所述确定模块具体用于:
获取所述变更信息中的每个文件名称的种类,其中,所述变更信息中包括多种文件名称;
通过正则匹配从所述多种文件名称中得到代码种类的目标文件名称集合;
基于预设格式条件对所述目标文件名称集合进行格式替换,并基于格式替换后的所述目标文件名称集合确定所述多组目标代码。
在一些实施例中,所述检测模块具体用于:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;
将所述目标代码对应的附加条件增加到所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
在一些实施例中,所述检测模块具体用于:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;其中,所述目标代码对应的附加条件包括所述目标检测条件集合对应的标识信息;
基于所述标识信息从所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
在一些实施例中,所述装置还包括检测跳过模块,具体用于:
响应于确定所述目标代码对应的附加条件为不做检测时,跳过对所述目标代码进行检测的步骤。
在一些实施例中,所述预设基础检测条件集合中包括多个预设测试用例,所述多个预设测试用例共用一个通用执行引擎,所述多个测试用例的格式与所述多组目标代码的格式相同。
在一些实施例中,所述预设基础检测条件集合中还包括与所述多个预设测试用例对应的通用配置信息。
在一些实施例中,所述预设基础检测条件集合中还包括与单个预设测试用例对应的专有配置信息,所述专有配置信息的执行优先级大于所述通用配置信息的执行优先级。
在一些实施例中,所述多组目标代码属于同一代码仓库。
上述实施例的代码检测的装置用于实现前述任一实施例中相应的代码检测的方法,并且具有相应的代码检测方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的代码检测的方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的代码检测的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的代码检测的方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类别的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的代码检测的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器执行以使得所述处理器执行上述实施例所述代码检测的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所在领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种代码检测的方法,其特征在于,包括:
确定待检测的多组目标代码;
对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
2.根据权利要求1所述的方法,其特征在于,确定待检测的多组目标代码,具体包括:
确定本次代码提交和上次代码提交之间的变更信息;
基于所述变更信息确定所述多组目标代码。
3.根据权利要求1所述的方法,其特征在于,基于所述变更信息确定待检测的多组目标代码,具体包括:
获取所述变更信息中的每个文件名称的种类,其中,所述变更信息中包括多种文件名称;
通过正则匹配从所述多种文件名称中得到代码种类的目标文件名称集合;
基于预设格式条件对所述目标文件名称集合进行格式替换,并基于格式替换后的所述目标文件名称集合确定所述多组目标代码。
4.根据权利要求1所述的方法,其特征在于,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合,具体包括:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;
将所述目标代码对应的附加条件增加到所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
5.根据权利要求1所述的方法,其特征在于,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合,具体包括:
获取所述预设基础检测条件集合及所述目标代码对应的附加条件;其中,所述目标代码对应的附加条件包括所述目标检测条件集合对应的标识信息;
基于所述标识信息从所述预设基础检测条件集合中,确定所述目标代码对应的目标检测条件集合。
6.根据权利要求1所述的方法,其特征在于,在基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合之后,所述方法还包括:
响应于确定所述目标代码对应的附加条件为不做检测时,跳过对所述目标代码进行检测的步骤。
7.根据权利要求1所述的方法,其特征在于,所述预设基础检测条件集合中包括多个预设测试用例,所述多个预设测试用例共用一个通用执行引擎,所述多个测试用例的格式与所述多组目标代码的格式相同。
8.根据权利要求7所述的方法,其特征在于,所述预设基础检测条件集合中还包括与所述多个预设测试用例对应的通用配置信息。
9.根据权利要求8所述的方法,其特征在于,所述预设基础检测条件集合中还包括与单个预设测试用例对应的专有配置信息,所述专有配置信息的执行优先级大于所述通用配置信息的执行优先级。
10.根据权利要求1所述的方法,其特征在于,所述多组目标代码属于同一代码仓库。
11.一种代码检测的装置,其特征在于,包括:
确定模块,确定待检测的多组目标代码;
检测模块,对于每组目标代码,基于预设基础检测条件集合及所述目标代码对应的附加条件确定所述目标代码对应的目标检测条件集合;基于所述目标检测条件集合对所述目标代码进行检测。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述程序时实现如权利要求1至10中任意一项所述的方法。
13.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1至10任一项所述的方法。
CN202310465257.3A 2023-04-26 2023-04-26 代码检测的方法、装置、电子设备、存储介质及程序产品 Pending CN116483722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310465257.3A CN116483722A (zh) 2023-04-26 2023-04-26 代码检测的方法、装置、电子设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310465257.3A CN116483722A (zh) 2023-04-26 2023-04-26 代码检测的方法、装置、电子设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN116483722A true CN116483722A (zh) 2023-07-25

Family

ID=87222850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310465257.3A Pending CN116483722A (zh) 2023-04-26 2023-04-26 代码检测的方法、装置、电子设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN116483722A (zh)

Similar Documents

Publication Publication Date Title
JP6518794B2 (ja) プラグイン化パッケージング方法、装置及び端末
CN108334515B (zh) 一种处理崩溃文件中堆栈地址的方法、装置及系统
CN109614372B (zh) 一种对象存储、读取方法、装置、及业务服务器
CN112395253B (zh) 索引文件生成方法、终端设备、电子设备及介质
CN111857712A (zh) 表单处理方法、装置、终端及介质
CN110008431B (zh) 页面组件构建方法、装置、页面生成设备及可读存储介质
CN110019538B (zh) 一种数据表切换方法及装置
CN115796210B (zh) 样本检测方法及相关设备
CN110020264B (zh) 一种无效超链接的确定方法及装置
CN116483722A (zh) 代码检测的方法、装置、电子设备、存储介质及程序产品
CN115314413B (zh) 一种can信号测试方法及装置
CN113377423B (zh) 提供服务的方法、装置及电子设备
CN111737784B (zh) 基于数字化三维的zxmp s385子架的板卡选型配置方法及设备
CN114358936A (zh) 一种基于微服务区块链的智能合约运行方法
CN109656805B (zh) 用于业务分析的代码链路的生成方法、装置及业务服务器
CN108734149B (zh) 一种文本数据扫描方法和装置
CN112540772A (zh) 应用发布方法及其系统、电子设备、存储介质
CN112653595B (zh) 芯片网络功能测试方法、装置、存储介质及设备
CN112463798B (zh) 跨数据库数据提取方法、装置、电子设备及存储介质
CN112488856B (zh) 一种信息归类方法、设备、电子设备及存储介质
CN116680168A (zh) Api接口入参动态校验方法、装置、电子设备及存储介质
CN118353892A (zh) 一种接口对接方法、装置、电子设备及存储介质
CN114969751A (zh) 自动化漏洞验证方法及相关设备
CN116088991A (zh) 虚拟物体间距吸附的方法、装置、电子设备及存储介质
CN115357476A (zh) 支持多传输协议多测试类型的Mock测试方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination