[发明专利]一种代码检测方法和装置在审
| 申请号: | 202110104217.7 | 申请日: | 2021-01-26 |
| 公开(公告)号: | CN113760729A | 公开(公告)日: | 2021-12-07 |
| 发明(设计)人: | 柯俊盛;夏先刚 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/36;G06F16/31;G06F16/33 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 王安娜;王志远 |
| 地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 检测 方法 装置 | ||
本发明公开了一种代码检测方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收代码检测请求,根据检测请求,获取目标代码文件和目标检测规则,其中,目标代码文件包括一个或多个待检测代码文件;根据待检测代码文件对应的文件类型,加载待检测代码文件对应的代码解析器,生成待检测代码文件对应的抽象语法树;根据待检测代码文件对应的抽象语法树,执行目标检测规则,获得待检测代码文件对应的检测结果,以得到目标代码文件对应的检测结果。该实施方式能够实现对多种文件类型的代码文件进行代码检测,减少人工成本,提高代码检测效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码检测方法和装置。
背景技术
通过静态解析技术对代码进行检测分析,能够对代码中存在的错误和潜在风险进行提示和预警,提高代码质量,降低代码异常率。
当前,可以采用如下方法进行代码检测:一、利用ESLint进行代码检测,其中,ESLint为一个插件化的JavaScript代码检测工具,其按照规则输出检测报告,可以有效避免低级错误、统一代码的风格;二、利用StyleLint进行代码检测,其中,StyleLint是一个强大的现代CSS检测器,通过定义编码风格规则,帮助开发者避免在样式表中出现错误;三、人工检查代码。
但是,现有代码检测方法存在如下问题:一、ESLint和StyleLint的检测范围单一,且ESLint和StyleLint均缺少业务逻辑的检查;二、对于人工检查代码,依赖检查人员的代码水平,存在不确定性,还会增加额外的人工成本。
发明内容
有鉴于此,本发明实施例提供一种代码检测方法和装置,能够实现对多种文件类型的代码文件进行代码检测,减少人工成本,提高代码检测效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种代码检测方法。
本发明实施例的代码检测方法,包括:接收代码检测请求,根据所述检测请求,获取目标代码文件和目标检测规则,其中,所述目标代码文件包括一个或多个待检测代码文件;根据所述待检测代码文件对应的文件类型,加载所述待检测代码文件对应的代码解析器,生成所述待检测代码文件对应的抽象语法树;根据所述待检测代码文件对应的抽象语法树,执行所述目标检测规则,获得所述待检测代码文件对应的检测结果,以得到所述目标代码文件对应的检测结果。
可选地,所述根据待检测代码文件对应的文件类型,加载所述待检测代码文件对应的代码解析器,生成所述待检测代码文件对应的抽象语法树,包括:获取所述待检测代码文件对应的文件类型;判断获取的文件类型是否为JavaScript、CSS、WXSS、HTML或WXML;若是,则加载所述获取的文件类型对应的代码解析器,生成所述待检测代码文件对应的抽象语法树;若否,则确定不支持所述待检测代码文件的解析。
可选地,所述加载所述获取的文件类型对应的代码解析器,生成所述待检测代码文件对应的抽象语法树,包括:若所述获取的文件类型为JavaScript,则利用JavaScript对应的解析器对所述待检测代码文件进行解析,生成所述待检测代码文件对应的抽象语法树;若所述获取的文件类型为CSS或WXSS,则利用CSS或WXSS对应的解析器对所述待检测代码文件进行解析,生成所述待检测代码文件对应的抽象语法树;若所述获取的文件类型为HTML或WXML,则利用HTML或WXML对应的解析器对所述待检测代码文件进行解析,生成所述待检测代码文件对应的抽象语法树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110104217.7/2.html,转载请声明来源钻瓜专利网。





