CN112328506A - 一种web端代码检测系统 - Google Patents
一种web端代码检测系统 Download PDFInfo
- Publication number
- CN112328506A CN112328506A CN202110010224.0A CN202110010224A CN112328506A CN 112328506 A CN112328506 A CN 112328506A CN 202110010224 A CN202110010224 A CN 202110010224A CN 112328506 A CN112328506 A CN 112328506A
- Authority
- CN
- China
- Prior art keywords
- code
- function
- configuration table
- document
- code 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种web端代码检测系统,包括第一代码检测器,第二代码检测器、第一配置表、第二配置表、第三配置表、第四配置表、处理器和存储有计算机程序的存储器,所述第二代码检测器包括从所述M个代码检测工具解析获得的N个功能函数,M、N为大于等于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id,所述第一配置表的字段包括文档类型和代码检测工具id,所述第二配置表的字段包括关键词和功能id,所述第三配置表的字段包括代码检测工具id、功能id和功能函数id,所述第四配置表的字段包括功能id和默认功能函数id。本发明提高了web端代码检测的实时性和检测效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种web端代码检测系统。
背景技术
在web端开发阶段,通常需要调用多个代码检测工具来对web端代码进行检测,在检测到代码编写错误的时候进行报错,供开发人员参考。现有技术中通常需要下载每一所需调用的代码检测工具,需要占据较大的存储空间,且使用检测工具进行检测时,需要运行该代码检测工具中所有的功能函数。但是,很多情况下,检测过程中只需要某一代码检测工具中的某一个或多个功能函数,运行代码检测工具的所有功能函数会大大降低检测效率,实时性差。因此,如何提高web端代码检测的实时性和检测效率成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种web端代码检测系统,提高了web端代码检测的实时性和检测效率。
本发明提供了一种web端代码检测系统,包括第一代码检测器,第二代码检测器、第一配置表、第二配置表、第三配置表、第四配置表、处理器和存储有计算机程序的存储器,所述第二代码检测器包括从所述M个代码检测工具解析获得的N个功能函数,M、N为大于等于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id,所述第一配置表的字段包括文档类型和代码检测工具id,所述第二配置表的字段包括关键词和功能id,所述第三配置表的字段包括代码检测工具id、功能id和功能函数id,所述第四配置表的字段包括功能id和默认功能函数id,当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、实时检测待测代码文档,当符合第一检测条件时,执行步骤S2,当符合第二检测条件时,执行步骤S3;
步骤S2、将当前代码文档输入所述第一代码检测器进行代码检测,若检测到错误代码,则进行报错;
步骤S3、基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,根据所述目标功能函数id调用目标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测到错误代码,则进行报错。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种web端代码检测系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明所述系统将多个代码检测工具的功能函数融合为一个第二代码检测器,只需一个指令即可下载第二代码检测器中所有的功能函数,无需逐一下载多个代码检测工具。此外,本发明根据具体检测需求调用对应的功能函数,无需运行代码检测工具中所有的功能函数,提高了代码检测的检测效率和实时性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的web端代码检测系统示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种web端代码检测系统的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种web端代码检测系统,包括第一代码检测器,第二代码检测器、第一配置表、第二配置表、第三配置表、第四配置表、处理器和存储有计算机程序的存储器。所述第二代码检测器包括从所述M个代码检测工具解析获得的N个功能函数,M、N为大于等于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id。所述第一配置表的字段包括文档类型和代码检测工具id,用于存储文档类型和代码检测工具id的映射关系,需要说明的是,第一配置表中的代码检测id指的是文档类型优选的代码检测工具对应的id,其中,所述文档类型包括html、gs和css等。所述第二配置表的字段包括关键词和功能id,用于存储关键词和功能id的映射关系,需要说明的是,第二配置表中的功能id指的是具备关键词的代码文档所需检测的功能对应的id。所述第三配置表的字段包括代码检测工具id、功能id和功能函数id,用于存储代码检测工具id、功能id组合与代码检测工具id、功能id的映射关系,需要说明的是,第三配置表中的功能函数id指的是采用代码检测工具id实现功能id对应功能时,优选的功能函数id。所述第四配置表的字段包括功能id和默认功能函数id,用于存储功能id和默认功能函数id的映射关系,当代码检测工具id和功能id组合没有对应的优选功能函数时,则需要通过第四配置表获取默认的功能函数id来确定目标函数。
当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、实时检测待测代码文档,当符合第一检测条件时,执行步骤S2,当符合第二检测条件时,执行步骤S3;
步骤S2、将当前代码文档输入所述第一代码检测器进行代码检测,若检测到错误代码,则进行报错;
其中,所述当前代码文档为所述待测代码文档中当前对象对应的方法中get()到set()之间的代码段
步骤S3、基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,根据所述目标功能函数id调用目标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测到错误代码,则进行报错。
本发明实施例所述系统将多个代码检测工具的功能函数融合为一个第二代码检测器,只需一个指令即可下载第二代码检测器中所有的功能函数,无需逐一下载多个代码检测工具。此外,本发明根据具体检测需求调用对应的功能函数,无需运行代码检测工具中所有的功能函数,提高了代码检测的检测效率和实时性。
需要说明的是,根据本发明,系统可以物理实现为一个服务器,也可以实现为包括多个服务器的服务器群组。本领域技术人员知晓,服务器的型号、规格等参数并不影响本发明的保护范围。本发明一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序仅是为了引用方便的目的予以编排,并不意味着步骤执行的必然顺序,即可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
作为一种示例,所述第一检测条件为待测代码文档代码发生变化,即对待测代码文档有任何新的输入、修改和删除时,均可实时触发第一代码检测器进行代码检测。其中,第一代码检测器时用于对代码输入进行基础的检测,用于检测代码实时输入的明显错误,仅检测当前代码文档即可,无需监测链接的文档。第一代码检测器采用现有的代码基础检测技术即可,在此不再展开描述。第二代码检测工具用于检测第一代码工具不易识别的代码错误,不仅可以对当前代码文档检测,还要全面检测当前代码文档所链接的文档,需要调用对应的功能函数来检测,如果过于频繁地调用功能函数会浪费计算资源,且降低代码检测的速度,因此,可以将所述第二检测条件为超过预设时间所述待测代码文档代码未发生变化、所述待测代码文档执行保存操作、待测代码文档执行关闭操作中的一种或多种,这样可以实现在完成一段代码编辑时进行代码检测。通过设置第一代码检测器可以快速发现基础的代码问题,为第二代码检测器过滤掉一部分检测任务,通过第一代码检测器和第二代码检测器的配合设置,能够减少计算资源,提高代码检测的效率。
作为一种实施例,所述步骤S3中,所述基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,包括:
步骤S31、解析所述当前代码文档,确定所述当前代码文档的文档类型,根据所述当前代码文档的文档类型检索所述第一配置表,将所述当前代码文档的文档类型对应的代码检测工具id确定为第一代码检测工具id;
其中,通过步骤S31可以确定当前代码文档理论上优选的代码检测工具的id。
步骤S32、解析所述当前代码文档以及当前代码文档链接的代码文档,并从中提取第一关键词,根据所述第一关键词检索所述第二配置表,将所述第一关键词对应的功能id确定为第一功能id;
其中,通过步骤S32可以确定当前代码文档所需要检测的功能所对应的id;
步骤S33、根据所述第一代码检测工具id和第一功能id检索所述第三配置表,若能够获取到所述第一代码检测工具id和第一功能id对应的功能函数id,则将该功能函数id确定为目标功能函数id,否则执行步骤S34;
其中,通过步骤S33可以确定是否存在最优的目标功能函数,若有,直接获取目标功能函数id,并调取对应的目标功能函数进行代码检测即可,若没有,采用执行步骤S34获取第一功能id对应的默认功能函数id,调取对应的功能函数进行代码检测。
步骤S34、根据所述第一功能id检索所述第四配置表,将所述第一功能id对应的默认功能函数id确定为目标功能函数id。
作为一种实施例,当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S10、获取M个代码检测工具,并分别进行解析,得到每一代码检测工具对应的功能函数;
例如,M可取值为3,对应的三个代码检测工具为html lint、style lint、es lint,默认代码检测工具可以设置为es lint。可以理解是的,以上三个代码检测工具只是举例,还可为其他的代码检测工具。
步骤S11、从M个代码检测工具对应的所有功能函数中获取N个功能函数;
可以理解的是,可以将每一代码检测工具对应的所有的功能函数融合在一起,也可以根据具有的检测需求从M个代码检测工具对应的所有功能函数中获取多个功能函数进行融合。
步骤S13、为每一代码检测工具设置对应的代码检测工具id,为每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id;
步骤S14、基于每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id以及文档类型与代码检测工具的对应关系建立所述第一配置表、第二配置表、第三配置表、第四配置表;
步骤S15、将所述M个代码检测工具对应的N个功能函数打包生成所述第二代码检测器对应的文件包,并存储到包管理器(Node Package Manager,简称NPM)中,并配置对应的下载地址。
作为一种实施例,所述步骤S3中,所述根据所述目标功能函数id调用目标功能函数时,还可包括:
步骤S301、判断缓存中时是否存在所述目标功能函数,若存在,则直接调用所述缓存中的目标功能函数,否则,执行步骤S302;
步骤S302、根据所述下载地址下载并解析所述第二代码检测器对的文件包。
通过步骤S301-步骤S302的缓存机制,优先在缓存中获取目标功能函数,进一步提高了代码检测的效率。此外,通过步骤S302可知,本发明实施例所述系统基于一条指令即可下载所需要的所有代码工具对应的功能函数,无需逐一下载所以需要的代码检测工具。
此外,还可在所述系统中加入新的代码检测工具,例如,当需要在所述第二代码检测器中新增m个代码检测工具对应的n个功能函数,m和n均为正整数,m大于n,还实现以下步骤:
步骤S100、基于所述新增m个代码检测工具对应的n个功能函数,更新所述第二代码检测器对的文件包、第一配置表、第二配置表、第三配置表和第四配置表。可以理解的是,在新增代码检测工具时,需要对待新增的代码检测工具对应的参数,执行步骤S11-步骤S15类似的操作,然后对应更新第二代码检测器对的文件包、第一配置表、第二配置表、第三配置表和第四配置表即可,在此不再重复描述。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种web端代码检测系统,其特征在于,
包括第一代码检测器,第二代码检测器、第一配置表、第二配置表、第三配置表、第四配置表、处理器和存储有计算机程序的存储器,所述第二代码检测器包括从M个代码检测工具解析获得的N个功能函数,M、N为大于等于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id,所述第一配置表的字段包括文档类型和代码检测工具id,所述第二配置表的字段包括关键词和功能id,所述第三配置表的字段包括代码检测工具id、功能id和功能函数id,所述第四配置表的字段包括功能id和默认功能函数id,当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、实时检测待测代码文档,当符合第一检测条件时,执行步骤S2,当符合第二检测条件时,执行步骤S3;
步骤S2、将当前代码文档输入所述第一代码检测器进行代码检测,若检测到错误代码,则进行报错;
步骤S3、基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,根据所述目标功能函数id调用目标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测到错误代码,则进行报错。
2.根据权利要求1所述的系统,其特征在于,
所述第一检测条件为待测代码文档代码发生变化,所述第二检测条件为超过预设时间所述待测代码文档代码未发生变化、所述待测代码文档执行保存操作、待测代码文档执行关闭操作中的一种或多种。
3.根据权利要求1所述的系统,其特征在于,
所述当前代码文档为所述待测代码文档中当前对象对应的方法中get()到set()之间的代码段。
4.根据权利要求1所述的系统,其特征在于,
所述步骤S3中,所述基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,包括:
步骤S31、解析所述当前代码文档,确定所述当前代码文档的文档类型,根据所述当前代码文档的文档类型检索所述第一配置表,将所述当前代码文档的文档类型对应的代码检测工具id确定为第一代码检测工具id;
步骤S32、解析所述当前代码文档以及当前代码文档链接的代码文档,并从中提取第一关键词,根据所述第一关键词检索所述第二配置表,将所述第一关键词对应的功能id确定为第一功能id;
步骤S33、根据所述第一代码检测工具id和第一功能id检索所述第三配置表,若能够获取到所述第一代码检测工具id和第一功能id对应的功能函数id,则将该功能函数id确定为目标功能函数id,否则执行步骤S34;
步骤S34、根据所述第一功能id检索所述第四配置表,将所述第一功能id对应的默认功能函数id确定为目标功能函数id。
5.根据权利要求4所述的系统,其特征在于,
当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S10、获取M个代码检测工具,并分别进行解析,得到每一代码检测工具对应的功能函数;
步骤S11、从M个代码检测工具对应的所有功能函数中获取N个功能函数;
步骤S13、为每一代码检测工具设置对应的代码检测工具id,为每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id;
步骤S14、基于每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id以及文档类型与代码检测工具的对应关系建立所述第一配置表、第二配置表、第三配置表、第四配置表;
步骤S15、将所述M个代码检测工具对应的N个功能函数打包生成所述第二代码检测器对应的文件包,并存储到NPM中,并配置对应的下载地址。
6.根据权利要求5所述的系统,其特征在于,
所述步骤S3中,所述根据所述目标功能函数id调用目标功能函数时,还包括:
步骤S301、判断缓存中时是否存在所述目标功能函数,若存在,则直接调用所述缓存中的目标功能函数,否则,执行步骤S302;
步骤S302、根据所述下载地址下载并解析所述第二代码检测器对的文件包。
7.根据权利要求5所述的系统,其特征在于,
当需要在所述第二代码检测器中新增m个代码检测工具对应的n个功能函数,m和n均为正整数,m大于n,还实现以下步骤:
步骤S100、基于所述新增m个代码检测工具对应的n个功能函数,更新所述第二代码检测器对的文件包、第一配置表、第二配置表、第三配置表和第四配置表。
8.根据权利要求1-7中任意一项所述的系统,其特征在于,
所述代码检测工具包括html lint、style lint、es lint。
9.根据权利要求1-7中任意一项所述的系统,其特征在于,
所述文档类型包括html、gs和css。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010224.0A CN112328506B (zh) | 2021-01-06 | 2021-01-06 | 一种web端代码检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010224.0A CN112328506B (zh) | 2021-01-06 | 2021-01-06 | 一种web端代码检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328506A true CN112328506A (zh) | 2021-02-05 |
CN112328506B CN112328506B (zh) | 2021-04-13 |
Family
ID=74302430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110010224.0A Active CN112328506B (zh) | 2021-01-06 | 2021-01-06 | 一种web端代码检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328506B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342687A (zh) * | 2021-07-01 | 2021-09-03 | 厦门极致互动网络技术股份有限公司 | 一种批量检测代码规范的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238403A1 (en) * | 2006-01-30 | 2011-09-29 | Sony Computer Entertainment Inc. | Translation block invalidation prehints in emulation of a target system on a host system |
CN106095681A (zh) * | 2016-06-14 | 2016-11-09 | 深圳市彬讯科技有限公司 | 一种SVN集成JSHint代码检测方法及其系统 |
CN110147317A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 代码测试方法及装置、电子设备和存储介质 |
CN110704297A (zh) * | 2019-08-15 | 2020-01-17 | 平安普惠企业管理有限公司 | 代码评审方法、装置、计算机设备及存储介质 |
-
2021
- 2021-01-06 CN CN202110010224.0A patent/CN112328506B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238403A1 (en) * | 2006-01-30 | 2011-09-29 | Sony Computer Entertainment Inc. | Translation block invalidation prehints in emulation of a target system on a host system |
CN106095681A (zh) * | 2016-06-14 | 2016-11-09 | 深圳市彬讯科技有限公司 | 一种SVN集成JSHint代码检测方法及其系统 |
CN110147317A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 代码测试方法及装置、电子设备和存储介质 |
CN110704297A (zh) * | 2019-08-15 | 2020-01-17 | 平安普惠企业管理有限公司 | 代码评审方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342687A (zh) * | 2021-07-01 | 2021-09-03 | 厦门极致互动网络技术股份有限公司 | 一种批量检测代码规范的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112328506B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6602435B2 (ja) | 連続イベント処理(cep)クエリの並列の実行 | |
US9262258B2 (en) | Handling faults in a continuous event processing (CEP) system | |
EP4086771B1 (en) | Method and system for the on-demand generation of graph-like models out of multidimensional observation data | |
JP7108039B2 (ja) | システム全体の制御とデータ探索の自動化を可能にするための視覚的および実行テンプレートの推奨 | |
CN1967539A (zh) | 用于监控和调试查询执行对象的装置和方法 | |
CN112328506B (zh) | 一种web端代码检测系统 | |
CN113495728A (zh) | 依赖关系确定方法、装置、电子设备及介质 | |
CN115185818A (zh) | 一种基于二进制集合的程序依赖簇检测方法 | |
CN113626823B (zh) | 一种基于可达性分析的组件间交互威胁检测方法及装置 | |
CN110990179A (zh) | 一种任务处理方法、装置及设备 | |
US8230413B2 (en) | Detecting incorrect versions of files | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
US8631013B2 (en) | Non-intrusive data logging | |
US10922210B2 (en) | Automatic software behavior identification using execution record | |
US11954014B2 (en) | Automated unit testing in a mainframe CICS environment | |
CN115705294B (zh) | 用于获取函数调用信息的方法、装置、电子设备和介质 | |
CN112286767B (zh) | 一种Redis缓存分析方法 | |
CN114816437A (zh) | 一种逆向生成Java实体类的方法、系统和设备 | |
CN111046130B (zh) | 结合ElasticSearch和FSM的关联检索方法 | |
Makanju et al. | Extracting message types from bluegene/l’s logs | |
Andrzejak et al. | Confguru-A system for fully automated debugging of configuration errors | |
CN115757570A (zh) | 一种日志数据分析方法、装置、电子设备及介质 | |
CN117311673A (zh) | 一种数据处理系统、方法、设备及计算机可读存储介质 | |
CN117369857A (zh) | 多任务关联查询方法、装置、计算机设备及存储介质 | |
CN115202718A (zh) | 用于检测jar包冲突的方法、装置、设备和存储介质 |
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 |