【技术实现步骤摘要】
代码检测方法、装置、设备及存储介质
[0001]本公开实施例涉及计算机
,尤其涉及代码检测方法、装置、设备及存储介质。
技术介绍
[0002]代码检测在软件开发以及业务开发迭代中具有十分重要的意义,较差的代码会影响软件性能,还会导致整个业务开发迭代向恶性循环发展,因此,需要采取有效的检测手段对代码进行检测。
[0003]目前,用于评价代码的维度包括如重复代码检测以及圈复杂度检测等等,然而,现有的基于上述维度的检测方案过于笼统简单,难以精准地定位代码问题,需要改进。
技术实现思路
[0004]本公开实施例提供了代码检测方法、装置、存储介质及设备,可以优化现有的代码检测方案。
[0005]第一方面,本公开实施例提供了一种代码检测方法,包括:
[0006]将待检测的目标源代码文件转换为目标抽象语法树,并对所述目标抽象语法树中的引用声明语句进行检测;
[0007]在检测到第一引用声明语句对应的第一变量与预设调试工具对应时,对所述目标抽象语法树中的新建对象语句进行检测;
[ ...
【技术保护点】
【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:将待检测的目标源代码文件转换为目标抽象语法树,并对所述目标抽象语法树中的引用声明语句进行检测;在检测到第一引用声明语句对应的第一变量与预设调试工具对应时,对所述目标抽象语法树中的新建对象语句进行检测;在检测到第一新建对象语句对应的第二变量与所述第一变量相同时,确定所述目标源代码文件中包括所述预设调试工具对应的调试代码。2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:确定所述目标抽象语法树中的第一函数代码片段对应的第一抽象语法树,以及所述目标抽象语法树中的第二函数代码片段对应的第二抽象语法树;提取所述第一抽象语法树中的第一语句类型信息以及所述第二抽象语法树中的第二语句类型信息,其中,语句类型信息中包含语句类型标识和语句类型标识的顺序;对所述第一语句类型信息和所述第二语句类型信息进行比较,若所述第一语句类型信息和所述第二语句类型信息一致,则确定所述第一函数代码片段和所述第二函数代码片段为重复函数代码片段。3.根据权利要求2所述的方法,其特征在于,所述对所述第一语句类型信息和所述第二语句类型信息进行比较,若所述第一语句类型信息和所述第二语句类型信息一致,则确定所第一函数代码片段和所述第二函数代码片段为重复函数代码片段,包括:计算所述第一语句类型信息对应的第一哈希值,以及计算所述第二语句类型信息对应的第二哈希值;判断所述第一哈希值和所述第二哈希值是否相等,若相等,则确定所述第一函数代码片段和所述第二函数代码片段为重复函数代码片段。4.根据权利要求1所述的方法,其特征在于,还包括:从预设检测维度对应的检测插件中获取相应的检测规则;根据所获取的检测规则对所述目标源代码文件进行检测,根据检测结果确定相应检测维度的检测结果。5.根据权利要求1所述的方法,其特征在于,还包括:从所述目标源代码文件中确定第三函数代码片段;判...
【专利技术属性】
技术研发人员:刘江虹,
申请(专利权)人:北京有竹居网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。