[发明专利]代码圈复杂度检测方法、装置及存储介质在审
| 申请号: | 202011543564.1 | 申请日: | 2020-12-23 |
| 公开(公告)号: | CN112527679A | 公开(公告)日: | 2021-03-19 |
| 发明(设计)人: | 张佳帅 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/75 |
| 代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
| 地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 代码 复杂度 检测 方法 装置 存储 介质 | ||
1.一种代码圈复杂度检测方法,其特征在于,包括:
通过本地命令行获取代码检测指令,所述代码检测指令包括待检测代码所在的文件地址,根据所述代码检测指令获取待检测代码;
检测所述待检测代码所在的文件所属的项目,获取所述项目对应的项目标识,根据所述项目标识获取对应的代码圈复杂度规则;
通过预设的代码分类模型获取所述待检测代码对应的圈复杂度计算方法,根据所述待检测代码对应的圈复杂度计算方法对所述待检测代码进行计算得到代码圈复杂度数值,根据所述代码圈复杂度数值和所述代码圈复杂度规则生成所述待检测代码的代码圈复杂度报告;
根据所述代码圈复杂度报告生成代码修改建议,将所述代码圈复杂度报告和所述代码修改建议结合生成代码检测结论并展示所述代码检测结论。
2.如权利要求1所述的代码圈复杂度检测方法,其特征在于,所述根据所述代码检测指令获取待检测代码包括:
遍历全部待检测代码所在的文件,筛除预先设置的无需检测的代码,并将筛选出的代码作为待检测代码。
3.如权利要求1所述的代码圈复杂度检测方法,其特征在于,所述代码圈复杂度规则为预设的固定格式表格,包括圈复杂度数值的多个区间以及各个区间对应的代码状况、可测性和维护成本。
4.如权利要求3所述的代码圈复杂度检测方法,其特征在于,所述代码圈复杂度检测方法还包括:
在新建项目创建完成后,获取所述新建项目对应的圈复杂度数值的各个区间的具体数值;
根据所述新建项目对应的圈复杂度数值的各个区间的具体数值创建对应的代码圈复杂度规则,并将所述代码圈复杂度规则和所述新建项目的项目标识以一对一的映射关系存储在本地数据库中。
5.如权利要求1所述的代码圈复杂度检测方法,其特征在于,所述通过预设的代码分类模型获取所述待检测代码对应的圈复杂度计算方法包括:
根据预设的关键词词典检测所述待检测代码的关键词;
将所述关键词输入预设的代码分类模型得到所述待检测代码对应的圈复杂度计算方法,所述预设的代码分类模型为决策树模型。
6.如权利要求5所述的代码圈复杂度检测方法,其特征在于,所述圈复杂度计算方法包括控制流程图计算法、节点判断法和点边计算法。
7.如权利要求1所述的代码圈复杂度检测方法,其特征在于,所述代码修改建议包括所述待检测代码中需要修改的一段或多段代码以及各段代码对应的修改方法。
8.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的代码圈复杂度检测程序,所述代码圈复杂度检测程序被所述处理器执行时实现如权利要求1-7所述的代码圈复杂度检测方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有代码圈复杂度检测程序,所述代码圈复杂度检测程序可被一个或者多个处理器执行,以实现如权利要求1-7所述的代码圈复杂度检测方法。
10.一种代码圈复杂度检测装置,其特征在于,该装置包括:
代码获取模块:用于通过本地命令行获取代码检测指令,所述代码检测指令包括待检测代码所在的文件地址,根据所述代码检测指令获取待检测代码;
规则获取模块:用于检测所述待检测代码所在的文件所属的项目,获取所述项目对应的项目标识,根据所述项目标识获取对应的代码圈复杂度规则;
计算分析模块:用于通过预设的代码分类模型获取所述待检测代码对应的圈复杂度计算方法,根据所述待检测代码对应的圈复杂度计算方法对所述待检测代码进行计算得到代码圈复杂度数值,根据所述代码圈复杂度数值和所述代码圈复杂度规则生成所述待检测代码的代码圈复杂度报告;
结论展示模块:用于根据所述代码圈复杂度报告生成代码修改建议,将所述代码圈复杂度报告和所述代码修改建议结合生成代码检测结论并展示所述代码检测结论。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011543564.1/1.html,转载请声明来源钻瓜专利网。





