In the embodiment of the invention, a code detection method, terminal, server and system are disclosed. By obtaining the code to be detected by the terminal, the custom code detection rules corresponding to the terminal are obtained, and the original code detection rules in the code detection rule library are updated according to the custom code detection rules. After the new code detection rule, the code is scanned to get the result of code scanning, and the result of code detection is determined according to the result of code scanning. The implementation example of the invention is to use the custom code detection rules corresponding to the terminal, the updated code detection rules after the code detection rule base is updated, the detection code is detected, the updated code detection rules correspond to the terminal, and the code writing habits of the terminal side users are conformed to the code writing habit, and the existing generation is solved. The code detection rules in the code detection process are not compatible with the actual code written by the users, so as to improve the accuracy of the code detection results.
【技术实现步骤摘要】
一种代码检测方法、终端、服务器及系统
本专利技术涉及数据处理
,具体涉及一种代码检测方法、终端、服务器及系统。
技术介绍
代码检测技术是通过对程序中的代码进行扫描,检测出代码中存在的错误和缺陷,代码中常见的错误和缺陷例如:参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、空指针引用等。通过代码检测技术检测出代码中存在的这些错误和缺陷,进而指导用户对代码进行改进,从而提高代码质量,缩短软件开发时间。然而,现有技术中的代码检测技术都是基于已经确定的代码规则对代码进行检测,而由于代码的种类繁多,每个用户编写代码的习惯和编写语言都有很大差异,采用确定的代码检测规则对代码进行检测,就会出现代码检测过程中用到的代码检测规则与用户实际编写的代码不适配的问题,导致代码检测结果不准确。
技术实现思路
有鉴于此,本专利技术实施例提供一种代码检测方法、终端、服务器及系统,解决了现有技术中的代码检测技术与用户实际编写的代码不适配,导致的代码检测结果不准确的问题。为实现上述目的,本专利技术实施例提供如下技术方案:一种代码检测方法,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。一种代码检测方法,包括:将待检测代码发送至服务器;对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;依据所述历史代码编写规则生成自定义代码检测规则,并发送至服务器;获取服务器对 ...
【技术保护点】
1.一种代码检测方法,其特征在于,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。
【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。2.根据权利要求1所述的方法,其特征在于,所述利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果的过程包括:从所述更新后的代码检测规则中获取检测规则匹配条件,所述检测规则匹配条件对应有互相匹配的至少两个检测规则;根据所述检测规则匹配条件,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在符合互相匹配的检测规则的代码,获得判断结果;依据判断结果,得到代码扫描结果。3.根据权利要求1所述的方法,其特征在于,所述利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果的过程包括:从所述更新后的代码检测规则中获取代码语句块标识;根据所述代码语句块标识,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在与所述代码语句块标识不匹配的代码语句块,获得第一判断结果;依据所述第一判断结果,得到代码扫描结果。4.根据权利要求3所述的方法,其特征在于,所述依据所述代码扫描结果确定代码检测结果的过程包括:依据所述待检测代码中与所述代码语句块标识不匹配的代码语句块,生成代码语句块标识不匹配的错误提示;或者;依据所述待检测代码中与所述代码语句块标识不匹配的代码语句块,获取所述待检测代码中与所述代码语句块标识不匹配的错误代码。5.根据权利要求3所述的方法,其特征在于,在根据所述代码语句块标识,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在与所述代码语句块标识不匹配的代码语句块,获得第一判断结果之后还包括:对于待检测代码中代码语句块标识匹配的代码语句块,利用更新后的代码检测规则,对其中的每条语句进行代码扫描,得到第二判断结果。6.根据权利要求1所述的方法,其特征在于,在依据所述代码扫描结果确定代码检测结果之后,还包括:将所述代码检测结果发送至终端。7.一种代码检测方法,其特征在于,包括:将待检测代码发送至服务器;对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;依据所述历史代码编写规则生成自定义代码检测规则,并发送至服务器;获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果,所述代码检测结果为所述服务器依据所述自定义代码检测规则,对代码检测规则库中存储的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果,依据所述代码扫描结果确定的。8.根据权利要求7所述的方法,其特征在于,所述对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则的过程包括:对用户代码编写过程中生成的代码进行逐行扫描,获取代码扫描结果;依据所述代码扫描结果,在代码编写语言数据库中查询与所述代码扫描结果中的代码相匹配的代码编写语言;将查询到的与所述代码扫描结果中的代码相匹配的代码编写语言确定为用户的历史代码编写语言。9.根据权利要求7所述的方法,其特征在于,所述对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则的过程包括:在代码编写过程中,获取用户对系统提示的不同类型的代码检测错误的选择结果;统计用户对系统提示的不同类型的代码检测错误的选择结果中所包含的选择结果类型以及与相应选择结果类型对应的选择次数;依据所述选择结果类型以及与相应选择结果类型对应的选择次数,确定用户对应的历史代码编写错误。10.根据权利要求8所述的方法,其特征在于,在获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果之后,还包括:依据所述代码检测结果生成错误提示设置项以及所述错误提示设置项的默认设置;展示所述错误提示设置项及所述错误提示设置项的默认设置;或者;依据所述代码检测结果生成错误代码设置项以及所述错误代码设置项的默认设置;展示所述错误代码设置项及所述错误代码设置项的默认设置。...
【专利技术属性】
技术研发人员:朱辉云,陈焕葵,张少愚,覃竞才,曾岳锋,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。