CN114911467A - 代码检测方法、装置、电子设备及存储介质 - Google Patents

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

Info

Publication number
CN114911467A
CN114911467A CN202111233903.0A CN202111233903A CN114911467A CN 114911467 A CN114911467 A CN 114911467A CN 202111233903 A CN202111233903 A CN 202111233903A CN 114911467 A CN114911467 A CN 114911467A
Authority
CN
China
Prior art keywords
code
preset
detected
code block
detection
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.)
Granted
Application number
CN202111233903.0A
Other languages
English (en)
Other versions
CN114911467B (zh
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 Siming Qichuang Technology Co ltd
Original Assignee
Beijing Siming Qichuang 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 Siming Qichuang Technology Co ltd filed Critical Beijing Siming Qichuang Technology Co ltd
Priority to CN202111233903.0A priority Critical patent/CN114911467B/zh
Publication of CN114911467A publication Critical patent/CN114911467A/zh
Application granted granted Critical
Publication of CN114911467B publication Critical patent/CN114911467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Detection And Correction Of Errors (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供一种代码检测方法、装置、电子设备及存储介质,属于计算机技术领域,该代码检测方法包括:获取待检测代码,所述待检测代码包含多个代码块;检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。本申请中,通过事先设置预设条件,以此来检测待检测代码中的代码块是否满足预设条件,若待检测代码中的代码块不满足预设条件,即可根据预设条件,确定待检测代码的出错原因。

Description

代码检测方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机的技术领域,具体而言,涉及一种代码检测方法、装置、电子设备及存储介质。
背景技术
现有的可视化代码块编辑平台在对用户编辑的可视化代码进行检测时,是通过运行可视化代码,若可以正常运行,则判断该可视化代码没有出错;若无法正常运行,则判断该可视化代码存在错误,但通过该方法仅能判断可视化代码是否出错,无法检测出错原因。
发明内容
本申请提供一种代码检测方法、装置、电子设备及存储介质,以解决现有技术无法判断可视化代码出错原因的问题。
第一方面,本申请提供一种代码检测方法,包括:获取待检测代码,所述待检测代码包含多个代码块;检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
本申请实施例中,通过事先预设条件,并以此来检测待检测代码中是否满足预设条件,进而得到检测结果,当待检测代码中的代码块满足预设条件,则得到表征待检测代码正确的检测结果;若待检测代码中的代码块不满足预设条件,即可根据预设条件,确定待检测代码的出错原因。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述预设条件包括预设代码块,检测所述待检测代码中的代码块是否满足预设条件,包括:利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述预设代码块,其中,在所述待检测代码中包括所述预设代码块时,确定所述待检测代码中的代码块满足预设条件。
本申请实施例中,通过事先设置第一检测代码,以此来检测待检测代码中是否包含预设代码块,当待检测代码中包括该预设代码块时,即确定该待检测代码中的代码块满足预设条件,反之,当当待检测代码中不包括该预设代码块时,即可确定该待检测代码缺失该预设代码块,进而可以快速确定待检测代码的错误原因包括缺失该预设代码块。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述预设条件包括多个预设代码块以及所述多个预设代码块之间的预设顺序,检测所述待检测代码中的代码块顺序是否满足预设条件,包括:利用预设的第二检测代码检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足预设条件。
本申请实施例中,通过预先设置第二检测代码,用于检测待检测代码中是否包含多个预设代码块,且多个预设代码块之间的顺序是否与预设顺序一致,若不一致,则确定该待检测代码的代码块顺序有误,进而确定该待检测代码错误原因为没有包括所有的预设代码块,或者预设代码块的顺序有误。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述预设条件包括多个预设代码块及所述多个预设代码块之间的预设顺序,检测所述待检测代码中的代码块顺序是否满足预设条件,包括:利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述多个预设代码块;在所述待检测代码中包括所述预设代码块时,利用预设的第二检测代码检测所述待检测代码中包含的所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足所述预设条件。
本申请实施例中,通过事先设置的第一检测代码来检测待检测代码中是否包含预设代码块,同时通过事先设置的第二检测代码检测待检测代码中的代码块顺序是否与预设的代码块顺序一致,通过同时利用第一检测代码和第二检测代码对待检测代码进行检测,实现从多个维度检测该待检测代码,能更加准确确定该待检测代码是否满足预设条件,并能在待检测代码不满足预设条件时,全面确定该检测代码错误的原因。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述方法应用于计算机,所述计算机部署有可视化代码块编辑平台,所述可视化代码块编辑平台包括代码块选择区域和代码块配置区域,所述代码块选择区域中的代码块包括第一检测代码块、所述预设代码块、第一结果代码块和第二结果代码块,其中,所述第一检测代码块上设置有放置所述预设代码块的第一区域,还设置有放置所述第一结果代码块的第二区域,以及放置第二结果代码块的第三区域,获取所述第一检测代码的过程,包括:响应用户将所述第一检测代码块移动至所述代码块配置区域的操作,执行对应的操作;响应所述用户将所述预设代码块移动至所述第一区域的操作,执行对应的操作;响应所述用户将所述第一结果代码块移动至所述第二区域的操作,执行对应的操作;响应所述用户将所述第二结果代码块移动至所述第三区域的操作,执行对应的操作,得到用于检测待检测代码是否包含所述预设代码块的第一检测代码。
本申请实施例中,通过响应用户的操作,利用第一检测代码块、预设代码块、第一结果代码块和第二结果代码块构建得到第一检测代码,使得用户可以根据实际需求,选择不同的预设代码块来构建符合自身需求的第一检测代码,进而提高本申请的应用场景,扩大应用范围。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述方法应用于计算机,所述计算机部署有可视化代码块编辑平台,所述可视化代码块编辑平台包括代码块选择区域和代码块配置区域,所述代码块选择区域中的代码块包括第二检测代码块、第三结果代码块、第四结果代码块、所述多个预设代码块,其中,所述第二检测代码块上设置有放置所述预设代码块的第四区域,还设置有放置所述第三结果代码块的第五区域,以及放置第四结果代码块的第六区域,获取所述第二检测代码的过程,包括:响应用户将所述第二检测代码块移动至所述代码块配置区域的操作,执行对应的操作;响应所述用户将所述多个预设代码块按照所述预设顺序移动至所述第四区域的操作,执行对应的操作;响应用户将所述第三结果代码块移动至所述第五区域的操作,执行对应的操作;响应用户将所述第四结果代码块移动至所述第六区域的操作,执行对应的操作,得到用于检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致的第二检测代码。
本申请实施例中,通过响应用户的操作,通过第二检测代码块、多个预设代码块、第三结果代码块和第四结果代码块构建得到第二检测代码,使得用户可以根据实际需求构建符合自身需求的第二检测代码,进而提高本申请的应用场景,扩大应用范围。
结合上述第一方面提供的技术方案,在一些可能的实施方式中,在所述检测所述待检测代码中的代码块是否满足预设条件之前,所述方法还包括:运行所述待检测代码,所述待检测代码运行出错次数达到预设阈值。
本申请实施例中,通过先运行该待检测代码,并在出错次数达到预设阈值后才检测待检测代码中的代码块是否满足预设条件,使得无需检测运行结果正确的待检测代码是否满足预设条件,降低了计算机的工作量,节约了用户的时间。
第二方面,本申请提供一种代码检测装置,包括获取模块和检测模块,获取模块用于获取待检测代码,所述待检测代码包含多个代码块;检测模块用于检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例示出的一种代码检测方法的流程示意图;
图2为本申请实施例示出的一种第一检测代码的结构示意图;
图3为本申请实施例示出的一种第二检测代码的结构示意图;
图4为本申请实施例示出的一种待检测代码的结构示意图;
图5为本申请实施例示出的又一种第一检测代码的结构示意图;
图6为本申请实施例示出的又一种第二检测代码的结构示意图;
图7为本申请实施例示出的一种代码检测装置的结构框图;
图8为本申请实施例示出的电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
下面将结合附图对本申请的技术方案进行清楚、完整地描述。
请参阅图1,图1为本申请实施例提供的一种代码检测方法,下面将结合图1对其包含的步骤进行说明。
S100:获取待检测代码。
待检测代码可以是预先获取并保存在数据库或磁盘中的,在需要时直接获取即可,或者,是在需要使用待检测代码时,实时获取得到的。其中,待检测代码包含多个代码块。
S200:检测所述待检测代码中的代码块是否满足预设条件,得到检测结果。
其中,若待检测代码中的代码块满足预设条件,则得到表征待检测代码正确的检测结果;若待检测代码中的代码块不满足预设条件,则得到表征待检测代码错误的检测结果,且根据预设条件,即可确定该待检测代码错误的原因。
一种实施方式下,预设条件包括预设代码块,检测待检测代码中的代码块是否满足预设条件的过程可以是:利用预设的第一检测代码检测该待检测代码中的代码块是否包含预设代码块,其中,在待检测代码中包括预设代码块时,确定待检测代码中的代码块满足预设条件;在待检测代码块中不包括预设代码块时,确定待检测代码中的代码块不满足预设条件,也即表征该待检测代码存在错误,且该待检测代码错误的原因为没有包括该预设代码块。
本申请实施例中,通过预先设置用于检测待检测代码中的代码块是否包含预设代码块的第一检测代码,以此可以快速确定该待检测代码是否有误,以及存在错误的原因。
一种可选实施方式下,可以通过如下方式获得该第一检测代码,例如,可以通过部署于计算机中的可视化代码块编辑平台中的代码块来配置。其中,可视化代码块编辑平台包括代码块选择区域和代码块配置区域,代码块选择区域中的代码块包括第一检测代码块、预设代码块、第一结果代码块和第二结果代码块,其中,第一检测代码块上设置有放置预设代码块的第一区域,还设置有放置第一结果代码块的第二区域,以及放置第二结果代码块的第三区域。
此时,通过上述代码块来获得该第一检测代码的过程可以是:首先响应用户将第一检测代码块移动至代码块配置区域的操作,执行对应的操作,也即,将第一检测代码块移动至代码块配置区域;然后响应用户将预设代码块移动至第一区域的操作,执行对应的操作,也即将预设代码块移动至第一区域;再响应用户将第一结果代码块移动至第二区域的操作,执行对应的操作,也即将第一结果代码块移动至第二区域;最后响应用户将第二结果代码块移动至第三区域的操作,执行对应的操作,也即将第二结果代码块移动至第三区域,通过这样的配置之后,便可得到用于检测待检测代码是否包含预设代码块的第一检测代码,其第一检测代码的结构示意图如图2所示。
其中,上述预设代码块、第一结果代码块和第二结果代码块可以根据需要设定,例如,其中,第一结果代码块和第二结果代码块可以根据实际需求选择不同功能的代码块,第一结果代码块、第二结果代码块可以是用于播放语音的代码块、用于播放视频的代码块等等,例如,第一结果代码块可以是执行播放“真棒”2秒功能的代码块,第二结果代码块可以是执行播放该预设代码块教学视频功能的代码块,此处不对第一结果代码块和第二结果代码块的具体执行功能作限制。
其中,上述的可视化代码块编辑平台可以是scratch(全球少儿图形化编程工具)等图形化编程工具,此处不对可视化代码块编辑平台的具体类型作出限制。
一种实施方式下,第一检测代码块的工作逻辑为,在待检测代码块中包含有预设代码块时,执行第一检测代码中的第一结果代码块的功能,或者,在待检测代码块中没有包含预设代码块时,执行第一检测代码中的第二结果代码块的功能。
一种实施方式下,第一检测代码块中可以不放置第一结果模块,即第一检测代码中不包括第一结果模块,仅在检测到待检测代码不包括预设代码块时,执行第二结果代码块的功能,在第一检测代码未执行第二结果代码块功能时,认为待检测代码包括有预设代码块。
上述的预设条件除包含预设代码块外,还可以包括多个预设块之间的预设顺序,也即此时预设条件包括多个预设代码块以及该多个预设代码块之间的预设顺序。
一种实施方式下,检测待检测代码中的代码块顺序是否满足预设条件的过程可以是:利用预设的第二检测代码检测待检测代码中是否包含该多个预设代码块,且多个预设代码块之间的顺序是否与预设顺序一致,其中,在待检测代码中包含多个预设代码块,且多个预设代码块之间的顺序与预设顺序一致时,认为待检测代码中的代码块满足预设条件。在待检测代码中没有包含所有的该多个预设代码块时,或该多个预设代码块的顺序与预设顺序不一致时,认为待检测代码中的代码块不满足预设条件,即该待检测代码存在错误,且该待检测代码错误的原因为待检测代码中的代码块顺序错误。
本申请实施例中,通过预先设置用于检测待检测代码中是否包括多个预设的代码块,以及该多个预设代码块的顺序是否与预设顺序一致的第二检测代码,以此可以快速确定该待检测代码是否有误,以及存在错误的原因。
一种可选实施方式下,可以通过如下方式获得该第二检测代码,例如,可以通过部署于计算机中的可视化代码块编辑平台中的代码块来配置。其中,可视化代码块编辑平台包括代码块选择区域和代码块配置区域,代码块选择区域中的代码块包括第二检测代码块、第三结果代码块、第四结果代码块、多个预设代码块,其中,第二检测代码块上设置有放置预设代码块的第四区域,还设置有放置第三结果代码块的第五区域,以及放置第四结果代码块的第六区域。
此时,得到第二检测代码的过程可以是:首先,响应用户将第二检测代码块移动至代码块配置区域的操作,执行对应的操作,也即,将第二检测代码块移动至代码块配置区域;然后响应用户将该多个预设代码块按照预设顺序移动至第四区域的操作,执行对应的操作,也即,将将该多个预设代码块按照预设顺序移动至第四区域;再响应用户将第三结果代码块移动至第五区域的操作,执行对应的操作,也即,将第三结果代码块移动至第五区域;最后响应用户将第四结果代码块移动至第六区域的操作,执行对应的操作,也即,将第四结果代码块移动至第六区域,最终得到用于检测待检测代码中是否包含多个预设代码块,且多个预设代码块之间的顺序是否与预设顺序一致的第二检测代码,其第二检测代码的结构示意图如图3所示。
其中,第三结果代码块的选择方式与前文中第一结果代码块的选择方式相同,第四结果代码块的选择方式与前文中第二结果代码块的选择方式相同,此处不再赘述。
利用图3所示的第二检测代码检测待检测代码是否满足预设条件时,当待检测代码中包含有第一预设代码块、第二预设代码块、第三预设代码块,且顺序依次为第一预设代码块、第二预设代码块、第三预设代码块时,认为该待检测代码符合预设规则,此处的第一预设代码块、第二预设代码块、第三预设代码块仅为便于理解而作出的举例,第四区域可以根据实际需求放置任意大于等于1数量的代码块,此处不作限制。
一种实施方式下,第二检测代码块的工作逻辑为:在待检测代码中包含有该多个预设代码块,且该多个预设代码块的顺序与预设顺序一致时,执行第三结果代码块的功能,或者,在待检测代码中没有完全包含该多个预设代码块,或者,该多个预设代码块的顺序与预设顺序不一致时,执行第四结果代码块的功能。
又一种实施方式下,第二检测代码仅用于检测待检测代码中预设代码块顺序,此时,第二检测代码块的工作逻辑为:在待检测代码中代码块顺序与预设的代码块顺序一致时,执行第三结果代码块的功能,或者,在待检测代码中代码块顺序与预设的代码块顺序不一致时,执行第四结果代码块的功能。
一种实施方式下,第二检测代码块中可以不放置第三结果模块,即第二检测代码中不包括第三结果模块,仅在检测到待检测代码中代码块顺序与预设的代码块顺序不一致时,执行第四结果代码块的功能,在第二检测代码未执行第四结果代码块功能时,认为待检测代码中代码块顺序与预设的代码块顺序一致。
当预设条件包括多个预设代码块及该多个预设代码块之间的预设顺序时,此时,又一种实施方式下,上述第二检测代码仅用于检测待检测代码中预设代码块顺序,则检测待检测代码中的代码块顺序是否满足预设条件的过程可以是:利用预设的第一检测代码检测待检测代码中的代码块是否包含预设代码块,在待检测代码中包括预设代码块时,利用预设的第二检测代码检测待检测代码中包含的多个预设代码块之间的顺序是否与预设顺序一致,其中,在待检测代码中包含多个预设代码块,且该多个预设代码块之间的顺序与预设顺序一致时,认为待检测代码中的代码块满足预设条件。
其中,利用上述第一检测代码和上述第二检测代码对待检测代码进行检测时,一种实施方式下,可以是同时使用第一检测代码和第二检测代码对待检测代码进行检测;另一种实施方式下,根据预先设置的顺序,依次使用第一检测代码或第二检测代码对待检测代码进行检测。
其中,针对同一待检测代码,可以同时存在多个第一检测代码,不同的检测代码中包括的预设代码块不同;并且,也可以同时存在多个第二检测代码,不同的第二检测代码用于检测该待检测代码中不同代码块的顺序,例如,第二检测代码A用于检测待检测代码中第一个代码块(将“开始”代码块作为第一个代码块)至第三个代码块的顺序,第二检测代码B用于检测待检测代码中第四个代码块至第七个代码块的顺序。上述举例仅为便于;理解,不应作为对本申请的限制。
一种实施方式下,在检测待检测代码中的代码块是否满足预设条件之前,还可以先运行该待检测代码,当待检测代码运行出错次数达到预设阈值时,再检测待检测代码中的代码块是否满足预设条件。
在运行待检测代码时,判断待检测代码是否运行出错,若待检测代码运行出错,出错次数加一;判断出错次数是否达到预设阈值,若未达到预设阈值,再次运行待检测代码,直至达到预设的运行次数或出错次数达到预设阈值。其中,上述的预设阈值可以根据实际需求设置,例如给预设阈值可以是1、2、3、4、5、6、7、8、9、10等正整数,上述的运行次数也可以根据实际需求设置,但运行次数必须大于等于预设阈值,例如,预设运行次数可以是1、2、3、4、5、6、7、8、9、10等正整数,且大于等于预设阈值,上述举例仅为便于理解,不应作为对本申请的限制。
为了便于理解上述利用第一检测代码检测待检测代码是否满足预设条件的过程,下面结合部分示例进行说明。
图4为本申请实施例提供的一种待检测代码,图5为本申请实施例提供的一种第一检测代码,利用图5所示的第一检测代码检测图4中的待检测代码是否包含预设代码块,此时的预设代码块为“移动10步”代码块。当待检测代码中存在“移动10步”代码块时,第一检测代码执行“说真棒2秒”代码块,当待检测代码中不存在“移动10步”代码块时,第一检测代码执行“播放教学视频”代码块。其中,“说真棒2秒”代码块为第一结果代码块,“播放教学视频”代码块为第二结果代码块。
为了便于理解上述利用第二检测代码检测待检测代码是否满足预设条件的过程,下面结合部分示例进行说明。
图4为本申请实施例提供的一种待检测代码,图6为本申请实施例提供的一种第二检测代码,此时的预设代码块为“移动10步”代码块,利用图6所示的第二检测代码检测图4中的待检测代码是否包含多个预设的代码块,以及该多个预设的代码块顺序是否与预设顺序一致,此时的多个预设代码块分别为“说你好8秒”代码块和“移动10步”代码块,且两个预设代码块的预设顺序为“说你好8秒”代码块在前、“移动10步”代码块在后。当图4中的待检测代码包含“说你好8秒”代码块和“移动10步”代码块,且满足“说你好8秒”代码块在前、“移动10步”代码块在后的顺序时,第二检测代码执行“说真棒2秒”代码块;当图4中的待检测代码没有包含“说你好8秒”代码块和“移动10步”代码块中的任意一个预设代码块,或者,不满足“说你好8秒”代码块在前、“移动10步”代码块在后的顺序时,第二检测代码执行“播放教学视频”代码块。其中,“说真棒2秒”代码块为第三结果代码块,“播放教学视频”代码块为第四结果代码块。
以上举例仅为便于理解,不应作为对本申请的限制。
请参阅图7,图7为本申请实施例提供的一种代码检测装置100,包括获取模块110和检测模块120。
获取模块110,用于获取待检测代码,所述待检测代码包含多个代码块;
检测模块120,用于检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
检测模块120具体用于,利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述预设代码块,其中,在所述待检测代码中包括所述预设代码块时,确定所述待检测代码中的代码块满足预设条件。
检测模块120具体用于,利用预设的第二检测代码检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足所述预设条件。
检测模块120具体用于,利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述多个预设代码块;在所述待检测代码中包括所述预设代码块时,利用预设的第二检测代码检测所述待检测代码中包含的所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足所述预设条件。
该代码检测装置100还包括构建模块,构建模块用于响应用户将所述第一检测代码块移动至所述代码块配置区域的操作,执行对应的操作;响应所述用户将所述预设代码块移动至所述第一区域的操作,执行对应的操作;响应所述用户将所述第一结果代码块移动至所述第二区域的操作,执行对应的操作;响应所述用户将所述第二结果代码块移动至所述第三区域的操作,执行对应的操作,得到用于检测待检测代码是否包含所述预设代码块的第一检测代码。
构建模块还用于,响应用户将所述第二检测代码块移动至所述代码块配置区域的操作,执行对应的操作;响应所述用户将所述多个预设代码块按照所述预设顺序移动至所述第四区域的操作,执行对应的操作;响应用户将所述第三结果代码块移动至所述第五区域的操作,执行对应的操作;响应用户将所述第四结果代码块移动至所述第六区域的操作,执行对应的操作,得到用于检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致的第二检测代码。
该代码检测装置100还包括运行模块,运行模块用于在所述检测所述待检测代码中的代码块是否满足预设条件之前,运行所述待检测代码,所述待检测代码运行出错次数达到预设阈值。
本申请实施例所提供的代码检测装置100,其实现原理及产生的技术效果和前述代码检测方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述代码检测方法实施例中相应内容。
请参阅图8,其为本申请实施例提供的一种电子设备200。所述电子设备200包括:收发器210、存储器220、通讯总线230、处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图7中所示的软件功能模块,即代码检测装置100。其中,代码检测装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如代码检测装置100包括的软件功能模块或计算机程序。例如,获取待检测代码,所述待检测代码包含多个代码块;检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于个人电脑、服务器等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的代码检测方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种代码检测方法,其特征在于,包括:
获取待检测代码,所述待检测代码包含多个代码块;
检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括预设代码块,检测所述待检测代码中的代码块是否满足预设条件,包括:
利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述预设代码块,其中,在所述待检测代码中包括所述预设代码块时,确定所述待检测代码中的代码块满足所述预设条件。
3.根据权利要求1所述的方法,其特征在于,所述预设条件包括多个预设代码块以及所述多个预设代码块之间的预设顺序,检测所述待检测代码中的代码块顺序是否满足预设条件,包括:
利用预设的第二检测代码检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足所述预设条件。
4.根据权利要求1所述的方法,其特征在于,所述预设条件包括多个预设代码块及所述预设代码块之间的预设顺序,检测所述待检测代码中的代码块顺序是否满足预设条件,包括:
利用预设的第一检测代码检测所述待检测代码中的代码块是否包含所述多个预设代码块;
在所述待检测代码中包括所述预设代码块时,利用预设的第二检测代码检测所述待检测代码中包含的所述多个预设代码块之间的顺序是否与所述预设顺序一致,其中,在所述待检测代码中包含所述多个预设代码块,且所述多个预设代码块之间的顺序与所述预设顺序一致时,认为所述待检测代码中的代码块满足所述预设条件。
5.根据权利要求2所述的方法,其特征在于,所述方法应用于计算机,所述计算机部署有可视化代码块编辑平台,所述可视化代码块编辑平台包括代码块选择区域和代码块配置区域,所述代码块选择区域中的代码块包括第一检测代码块、所述预设代码块、第一结果代码块和第二结果代码块,其中,所述第一检测代码块上设置有放置所述预设代码块的第一区域,还设置有放置所述第一结果代码块的第二区域,以及放置所述第二结果代码块的第三区域,获取所述第一检测代码的过程,包括:
响应用户将所述第一检测代码块移动至所述代码块配置区域的操作,执行对应的操作;
响应所述用户将所述预设代码块移动至所述第一区域的操作,执行对应的操作;
响应所述用户将所述第一结果代码块移动至所述第二区域的操作,执行对应的操作;
响应所述用户将所述第二结果代码块移动至所述第三区域的操作,执行对应的操作,得到用于检测待检测代码是否包含所述预设代码块的第一检测代码。
6.根据权利要求3所述的方法,其特征在于,所述方法应用于计算机,所述计算机部署有可视化代码块编辑平台,所述可视化代码块编辑平台包括代码块选择区域和代码块配置区域,所述代码块选择区域中的代码块包括第二检测代码块、第三结果代码块、第四结果代码块、所述多个预设代码块,其中,所述第二检测代码块上设置有放置所述预设代码块的第四区域,还设置有放置所述第三结果代码块的第五区域,以及放置所述第四结果代码块的第六区域,获取所述第二检测代码的过程,包括:
响应用户将所述第二检测代码块移动至所述代码块配置区域的操作,执行对应的操作;
响应所述用户将所述多个预设代码块按照所述预设顺序移动至所述第四区域的操作,执行对应的操作;
响应用户将所述第三结果代码块移动至所述第五区域的操作,执行对应的操作;
响应用户将所述第四结果代码块移动至所述第六区域的操作,执行对应的操作,得到用于检测所述待检测代码中是否包含所述多个预设代码块,且所述多个预设代码块之间的顺序是否与所述预设顺序一致的第二检测代码。
7.根据权利要求1所述的方法,其特征在于,在所述检测所述待检测代码中的代码块是否满足预设条件之前,所述方法还包括:
运行所述待检测代码,所述待检测代码运行出错次数达到预设阈值。
8.一种代码检测装置,其特征在于,包括:
获取模块,用于获取待检测代码,所述待检测代码包含多个代码块;
检测模块,用于检测所述待检测代码中的代码块是否满足预设条件,得到检测结果,其中,若所述待检测代码中的代码块满足所述预设条件,则得到表征待检测代码正确的检测结果。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1-7中任一项所述的方法。
CN202111233903.0A 2021-10-22 2021-10-22 代码检测方法、装置、电子设备及存储介质 Active CN114911467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111233903.0A CN114911467B (zh) 2021-10-22 2021-10-22 代码检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111233903.0A CN114911467B (zh) 2021-10-22 2021-10-22 代码检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114911467A true CN114911467A (zh) 2022-08-16
CN114911467B CN114911467B (zh) 2023-05-09

Family

ID=82761320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111233903.0A Active CN114911467B (zh) 2021-10-22 2021-10-22 代码检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114911467B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160100887A (ko) * 2016-08-12 2016-08-24 충남대학교산학협력단 코드 블록 비교를 통한 악성 코드 탐지 방법
CN105989294A (zh) * 2015-02-17 2016-10-05 华为技术有限公司 安卓安装包检测方法及装置
CN106030524A (zh) * 2014-05-22 2016-10-12 黄首进 用于可视化地实现软件代码的方法和设备
CN109308253A (zh) * 2017-07-27 2019-02-05 华为终端(东莞)有限公司 一种代码检测方法及装置
CN111752600A (zh) * 2020-06-30 2020-10-09 深圳壹账通智能科技有限公司 代码异常检测方法、装置、计算机设备及存储介质
CN112527276A (zh) * 2020-12-14 2021-03-19 深圳市优必选科技股份有限公司 一种可视化编程工具中的数据更新方法、装置及终端设备
CN113238744A (zh) * 2021-04-30 2021-08-10 湖南中医药高等专科学校 一种基于流程图结构的图形化编程方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106030524A (zh) * 2014-05-22 2016-10-12 黄首进 用于可视化地实现软件代码的方法和设备
CN105989294A (zh) * 2015-02-17 2016-10-05 华为技术有限公司 安卓安装包检测方法及装置
KR20160100887A (ko) * 2016-08-12 2016-08-24 충남대학교산학협력단 코드 블록 비교를 통한 악성 코드 탐지 방법
CN109308253A (zh) * 2017-07-27 2019-02-05 华为终端(东莞)有限公司 一种代码检测方法及装置
CN111752600A (zh) * 2020-06-30 2020-10-09 深圳壹账通智能科技有限公司 代码异常检测方法、装置、计算机设备及存储介质
CN112527276A (zh) * 2020-12-14 2021-03-19 深圳市优必选科技股份有限公司 一种可视化编程工具中的数据更新方法、装置及终端设备
CN113238744A (zh) * 2021-04-30 2021-08-10 湖南中医药高等专科学校 一种基于流程图结构的图形化编程方法

Also Published As

Publication number Publication date
CN114911467B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
US9524293B2 (en) Techniques for automatically swapping languages and/or content for machine translation
CN109558282B (zh) 一种pcie链路检测方法、系统及电子设备和存储介质
CN109669873B (zh) 用户界面自动测试方法及装置、电子设备及存储介质
US9256512B1 (en) Quality analysis for embedded software code
US20060085713A1 (en) Apparatus, method, and signal-bearing medium embodying a program for verifying logic circuit design
CN111506341B (zh) 一种软件配置信息检测方法、装置及系统
CN110866258A (zh) 快速定位漏洞方法、电子装置及存储介质
CN111615688A (zh) 一种断言验证代码绑定方法及装置
CN106406918B (zh) 源代码自动合并方法和源代码自动合并装置
CN109815697B (zh) 误报行为处理方法及装置
CN110688173B (zh) 一种跨平台界面框架中组件的定位方法、装置及电子设备
CN110874475A (zh) 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质
CN114911467A (zh) 代码检测方法、装置、电子设备及存储介质
CN111381582B (zh) 一种联动规则测试方法及装置
CN112634973A (zh) 存储介质的数据重读方法、系统、终端设备以及存储介质
CN111309584A (zh) 数据处理方法、装置、电子设备及存储介质
CN113656549B (zh) 电子书的内容搜索方法、电子设备及计算机存储介质
US20170052887A1 (en) To-be-stubbed target determining apparatus, to-be-stubbed target determining method and non-transitory recording medium storing to-be-stubbed target determining program
CN109165127B (zh) 问题接口的定位方法、装置及电子设备
CN112948434A (zh) 基于业务事件的业务处理方法、装置、计算机设备及存储介质
CN111931161A (zh) 基于risc-v处理器的芯片验证方法、设备及存储介质
CN105183552A (zh) 操作系统中断安全隐患定位系统及其应用
CN110825795A (zh) 访问数据库的方法、装置、设备及计算机可读存储介质
CN110704320A (zh) 控件操作方法及装置
CN113742156B (zh) 联调方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant