欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019107547159
申请人: 天翼安全科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-05-30
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种代码评审方法,其特征在于,包括:

获取处理代码检测工具指令,所述处理代码检测工具指令包括处理动作;

若所述处理动作为增加动作,且所述处理代码检测工具指令还包括待增加代码检测工具ID,则获取所述待增加代码检测工具ID对应的待增加代码检测工具和存储位置,将所述待增加代码检测工具和所述存储位置添加到代码检测工具包对应的存储位置数据表中;

若所述处理动作为删除动作,且所述处理代码检测工具指令还包括待删除代码检测工具ID,则在所述代码检测工具包中删除所述待删除代码检测工具ID对应的待删除代码检测工具的所有记录;

若所述处理动作为升级动作,且所述处理代码检测工具指令还包括待升级代码检测工具ID和升级工具包,则在所述代码检测工具包中采用所述升级工具包对所述待升级代码检测工具ID对应的待升级代码检测工具进行升级;

获取客户端发送的代码评审请求,所述代码评审请求包括待评审项目;

获取代码评审脚本和代码检测工具包,所述代码检测工具包包括至少一个目标代码检测工具;

获取所述代码检测工具包对应的存储位置数据表,所述存储位置数据表包括至少一个所述目标代码检测工具和对应的存储位置;

将所述代码评审脚本存储到所述存储位置数据表中的每一所述目标代码检测工具对应的存储位置,激活至少一个所述目标代码检测工具形成可执行代码检测工具;

基于至少一个所述可执行代码检测工具,执行生成评审接口指令,获取与所述目标代码检测工具关联的代码评审接口;所述代码评审接口包括代码规范评审接口、目录结构评审接口、函数复杂度评审接口和重复代码评审接口中的至少一种;

若存在所述代码规范评审接口,则采用所述代码规范评审接口对所述待评审项目进行评审,获取所述待评审项目的代码规范性;

若存在所述目录结构评审接口,则采用所述目录结构评审接口对所述待评审项目进行评审,获取所述待评审项目的目录结构合理性;

若存在所述函数复杂度评审接口,则采用所述函数复杂度评审接口对所述待评审项目进行评审,获取所述待评审项目的函数复杂性;

若存在所述重复代码评审接口,则采用所述重复代码评审接口对所述待评审项目进行评审,获取所述待评审项目的代码近似性;

单维评审结果包括所述代码规范性、所述目录结构合理性、所述函数复杂性和所述代码近似性中的至少一种,所述单维评审结果包括单维评审分数和单维评审报告;

基于每一所述单维评审分数,生成所述待评审项目对应的多维评审雷达图;

获取所述多维评审雷达图中每一所述单维评审分数对应的预设维度分数阈值,对比所述单维评审分数和所述预设维度分数阈值;

若存在至少一个所述单维评审分数未超过所述预设维度分数阈值,则获取多维分数对比结果为分数对比不通过,并采用预设评审模板处理所述多维评审雷达图和所有所述单维评审报告,生成所述待评审项目对应的多维评审报告,将所述多维评审报告返回给所述客户端。

2.如权利要求1所述的代码评审方法,其特征在于,所述采用所述代码规范评审接口对所述待评审项目进行评审,获取所述待评审项目的代码规范性,包括:采用所述代码规范评审接口对所述待评审项目进行评审,获取规范评审结果,所述规范评审结果包括错误和告警;

分别统计规范评审结果为错误和告警对应的第一规范评审数量和第二规范评审数量;

采用预设评分规则对所述第一规范评审数量和所述第二规范评审数量进行计算,获取所述代码规范性对应的单维评审分数和单维评审报告。

3.如权利要求1所述的代码评审方法,其特征在于,在所述对比所述单维评审分数和所述预设维度分数阈值之后,所述代码评审方法包括:若每一所述单维评审分数均超过所述预设维度分数阈值,则获取多维分数对比结果为分数对比通过。

4.如权利要求3所述的代码评审方法,其特征在于,在所述获取多维分数对比结果为分数对比通过之后,所述代码评审方法还包括:给所述客户端发送所述待评审项目通过代码评审的信息。

5.一种代码评审装置,其特征在于,包括:

获取工具指令模块,用于获取处理代码检测工具指令,所述处理代码检测工具指令包括处理动作;

获取存储位置模块,用于若所述处理动作为增加动作,且所述处理代码检测工具指令还包括待增加代码检测工具ID,则获取所述待增加代码检测工具ID对应的待增加代码检测工具和存储位置,将所述待增加代码检测工具和所述存储位置添加到代码检测工具包对应的存储位置数据表中;

删除检测工具模块,用于若所述处理动作为删除动作,且所述处理代码检测工具指令还包括待删除代码检测工具ID,则在所述代码检测工具包中删除所述待删除代码检测工具ID对应的待删除代码检测工具的所有记录;

升级检测工具模块,用于若所述处理动作为升级动作,且所述处理代码检测工具指令还包括待升级代码检测工具ID和升级工具包,则在所述代码检测工具包中采用所述升级工具包对所述待升级代码检测工具ID对应的待升级代码检测工具进行升级;

获取评审请求模块,用于获取客户端发送的代码评审请求,所述代码评审请求包括待评审项目;

获取检测工具包模块,用于获取代码评审脚本和代码检测工具包,所述代码检测工具包包括至少一个目标代码检测工具;

生成评审接口模块,用于获取所述代码检测工具包对应的存储位置数据表,所述存储位置数据表包括至少一个所述目标代码检测工具和对应的存储位置;将所述代码评审脚本存储到所述存储位置数据表中的每一所述目标代码检测工具对应的存储位置,激活至少一个所述目标代码检测工具形成可执行代码检测工具;基于至少一个所述可执行代码检测工具,执行生成评审接口指令,获取与所述目标代码检测工具关联的代码评审接口;所述代码评审接口包括代码规范评审接口、目录结构评审接口、函数复杂度评审接口和重复代码评审接口中的至少一种;

获取单维结果模块,用于若存在所述代码规范评审接口,则采用所述代码规范评审接口对所述待评审项目进行评审,获取所述待评审项目的代码规范性;若存在所述目录结构评审接口,则采用所述目录结构评审接口对所述待评审项目进行评审,获取所述待评审项目的目录结构合理性;若存在所述函数复杂度评审接口,则采用所述函数复杂度评审接口对所述待评审项目进行评审,获取所述待评审项目的函数复杂性;若存在所述重复代码评审接口,则采用所述重复代码评审接口对所述待评审项目进行评审,获取所述待评审项目的代码近似性;单维评审结果包括所述代码规范性、所述目录结构合理性、所述函数复杂性和所述代码近似性中的至少一种,所述单维评审结果包括单维评审分数和单维评审报告;

生成评审雷达图模块,用于基于每一所述单维评审分数,生成所述待评审项目对应的多维评审雷达图;

对比单维分数模块,用于获取所述多维评审雷达图中每一所述单维评审分数对应的预设维度分数阈值,对比所述单维评审分数和所述预设维度分数阈值;

获取对比结果模块,用于若存在至少一个所述单维评审分数未超过所述预设维度分数阈值,则获取多维分数对比结果为分数对比不通过,并采用预设评审模板处理所述多维评审雷达图和所有所述单维评审报告,生成所述待评审项目对应的多维评审报告,将所述多维评审报告返回给所述客户端。

6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至

4任一项所述的代码评审方法。

7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的代码评审方法。