一种web端代码检测系统转让专利
申请号 : CN202110010224.0
文献号 : CN112328506B
文献日 : 2021-04-13
发明人 : 朱金星 , 张静雅 , 郭俊强 , 祝文东
申请人 : 北京云真信科技有限公司
摘要 :
权利要求 :
1.一种web端代码检测系统,其特征在于,包括第一代码检测器,第二代码检测器、第一配置表、第二配置表、第三配置表、第四配置表、处理器和存储有计算机程序的存储器,所述第二代码检测器包括从M个代码检测工具解析获得的N个功能函数,M、N为大于等于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id,所述第一配置表的字段包括文档类型和代码检测工具id,所述第二配置表的字段包括关键词和功能id,所述第三配置表的字段包括代码检测工具id、功能id和功能函数id,所述第四配置表的字段包括功能id和默认功能函数id,当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、实时检测待测代码文档,当符合第一检测条件时,执行步骤S2,当符合第二检测条件时,执行步骤S3;
所述第一检测条件为待测代码文档代码发生变化,所述第二检测条件为超过预设时间所述待测代码文档代码未发生变化、所述待测代码文档执行保存操作、待测代码文档执行关闭操作中的一种或多种;
步骤S2、将当前代码文档输入所述第一代码检测器进行代码检测,若检测到错误代码,则进行报错;
步骤S3、基于当前代码文档以及当前代码文档链接的代码文档、第一配置表、第二配置表、第三配置表和第四配置表确定目标功能函数id,根据所述目标功能函数id调用目标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测到错误代码,则进行报错;
所述步骤S3包括:
步骤S31、解析所述当前代码文档,确定所述当前代码文档的文档类型,根据所述当前代码文档的文档类型检索所述第一配置表,将所述当前代码文档的文档类型对应的代码检测工具id确定为第一代码检测工具id;
步骤S32、解析所述当前代码文档以及当前代码文档链接的代码文档,并从中提取第一关键词,根据所述第一关键词检索所述第二配置表,将所述第一关键词对应的功能id确定为第一功能id;
步骤S33、根据所述第一代码检测工具id和第一功能id检索所述第三配置表,若能够获取到所述第一代码检测工具id和第一功能id对应的功能函数id,则将该功能函数id确定为目标功能函数id,否则执行步骤S34;
步骤S34、根据所述第一功能id检索所述第四配置表,将所述第一功能id对应的默认功能函数id确定为目标功能函数id。
2.根据权利要求1所述的系统,其特征在于,所述当前代码文档为所述待测代码文档中当前对象对应的方法中get()到set()之间的代码段。
3.根据权利要求1所述的系统,其特征在于,当所述计算机程序被处理器执行时,还实现以下步骤:步骤S10、获取M个代码检测工具,并分别进行解析,得到每一代码检测工具对应的功能函数;
步骤S11、从M个代码检测工具对应的所有功能函数中获取N个功能函数;
步骤S13、为每一代码检测工具设置对应的代码检测工具id,为每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id;
步骤S14、基于每一功能函数设置对应的功能函数id,为N个功能函数所能实现的功能设置对应的功能id以及文档类型与代码检测工具的对应关系建立所述第一配置表、第二配置表、第三配置表、第四配置表;
步骤S15、将所述M个代码检测工具对应的N个功能函数打包生成所述第二代码检测器对应的文件包,并存储到NPM中,并配置对应的下载地址。
4.根据权利要求3所述的系统,其特征在于,所述步骤S3中,所述根据所述目标功能函数id调用目标功能函数时,还包括:步骤S301、判断缓存中时是否存在所述目标功能函数,若存在,则直接调用所述缓存中的目标功能函数,否则,执行步骤S302;
步骤S302、根据所述下载地址下载并解析所述第二代码检测器对的文件包。
5.根据权利要求3所述的系统,其特征在于,当需要在所述第二代码检测器中新增m个代码检测工具对应的n个功能函数,m和n均为正整数,m大于n,还实现以下步骤:步骤S100、基于所述新增m个代码检测工具对应的n个功能函数,更新所述第二代码检测器对的文件包、第一配置表、第二配置表、第三配置表和第四配置表。
6.根据权利要求1‑5中任意一项所述的系统,其特征在于,所述代码检测工具包括html lint、style lint、es lint。
7.根据权利要求1‑5中任意一项所述的系统,其特征在于,所述文档类型包括html、gs和css。
说明书 :
一种web端代码检测系统
技术领域
背景技术
需调用的代码检测工具,需要占据较大的存储空间,且使用检测工具进行检测时,需要运行
该代码检测工具中所有的功能函数。但是,很多情况下,检测过程中只需要某一代码检测工
具中的某一个或多个功能函数,运行代码检测工具的所有功能函数会大大降低检测效率,
实时性差。因此,如何提高web端代码检测的实时性和检测效率成为亟待解决的技术问题。
发明内容
所述第二代码检测器包括从所述M个代码检测工具解析获得的N个功能函数,M、N为大于等
于2的正整数,N大于等于M,每一功能函数对应一个唯一的功能函数id,所述第一配置表的
字段包括文档类型和代码检测工具id,所述第二配置表的字段包括关键词和功能id,所述
第三配置表的字段包括代码检测工具id、功能id和功能函数id,所述第四配置表的字段包
括功能id和默认功能函数id,当所述计算机程序被处理器执行时,实现以下步骤:
标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测
到错误代码,则进行报错。
利用价值,其至少具有下列优点:
具。此外,本发明根据具体检测需求调用对应的功能函数,无需运行代码检测工具中所有的
功能函数,提高了代码检测的检测效率和实时性。
更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
具体实施方式
效,详细说明如后。
储器。所述第二代码检测器包括从所述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来确定目标函
数。
标功能函数对所述当前代码文档以及当前代码文档链接的代码文档进行代码检测,若检测
到错误代码,则进行报错。
检测工具。此外,本发明根据具体检测需求调用对应的功能函数,无需运行代码检测工具中
所有的功能函数,提高了代码检测的检测效率和实时性。
明的保护范围。本发明一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流
程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实
施。此外,各步骤的顺序仅是为了引用方便的目的予以编排,并不意味着步骤执行的必然顺
序,即可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中
的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
第一代码检测器时用于对代码输入进行基础的检测,用于检测代码实时输入的明显错误,
仅检测当前代码文档即可,无需监测链接的文档。第一代码检测器采用现有的代码基础检
测技术即可,在此不再展开描述。第二代码检测工具用于检测第一代码工具不易识别的代
码错误,不仅可以对当前代码文档检测,还要全面检测当前代码文档所链接的文档,需要调
用对应的功能函数来检测,如果过于频繁地调用功能函数会浪费计算资源,且降低代码检
测的速度,因此,可以将所述第二检测条件为超过预设时间所述待测代码文档代码未发生
变化、所述待测代码文档执行保存操作、待测代码文档执行关闭操作中的一种或多种,这样
可以实现在完成一段代码编辑时进行代码检测。通过设置第一代码检测器可以快速发现基
础的代码问题,为第二代码检测器过滤掉一部分检测任务,通过第一代码检测器和第二代
码检测器的配合设置,能够减少计算资源,提高代码检测的效率。
括:
码检测工具id确定为第一代码检测工具id;
确定为第一功能id;
定为目标功能函数id,否则执行步骤S34;
取第一功能id对应的默认功能函数id,调取对应的功能函数进行代码检测。
还可为其他的代码检测工具。
行融合。
二配置表、第三配置表、第四配置表;
的下载地址。
下载所需要的所有代码工具对应的功能函数,无需逐一下载所以需要的代码检测工具。
骤:
在新增代码检测工具时,需要对待新增的代码检测工具对应的参数,执行步骤S11‑步骤S15
类似的操作,然后对应更新第二代码检测器对的文件包、第一配置表、第二配置表、第三配
置表和第四配置表即可,在此不再重复描述。
员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰
为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质
对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。