【技术实现步骤摘要】
本申请涉及计算机
,尤其涉及一种代码检测方法及装置。
技术介绍
通常,源代码文件由开发人员完成并提交给文件发布系统,并由文件发布系统进行发布。在发布系统发布源代码文件之前,需对源代码文件进行测试,以确保源代码文件的可用性。对于基于诸如sofa或spring等框架的系统而言,其是以各个实现特定功能的模块进行划分的,各模块内的方法能相互引用,不同模块之间通过发布服务或者添加依赖的方式来实现相互访问。现有技术中,在如上框架的源代码的开发过程中,经常会出现如下错误:其一,组件bean的ID的声明相同,而该组件bean的ID的声明所对应的类class或父类parent的声明不同,在启动时,以上情况会导致类class或父类parent的定义丢失;其二,对于同一个服务接口,实现不同的功能是以服务标识uniqueId的形式加以区分的,在服务接口的声明相同时,若出现实现不同的功能而服务标识uniqueId却相同的情况,此时其他模块引用该模块的服务时,则无法确定所引用的是哪个服务;其三,模块所引用的服务的ID的声明相同,且服务接口相同,而所引用的服务标识uniqueId却不同,则启动时也会导致错误。以上代码错误在线下代码编译阶段很难被完全发现,从而导致代码上线后出现问题,现有技术中缺少能够线下检测以上代码错误,以提升代码质量及代码开发效率的方法及工具。
技术实现思路
本申请实施例提供代码检测方法及装置,用以解决现有技术无法在线下准确检测出代码所存在的错误,导致代码上线后出现问题并进而影响代码开发效率的问题。本申请实施例所提供的代码检测方法,包括:获取待检测的源代码文件中的 ...
【技术保护点】
一种代码检测方法,其特征在于,包括:获取待检测的源代码文件中的模块Bundle的配置文件;读取所述配置文件中的第一声明值,其中,所述第一声明值是第一属性的声明;逐一读取所述配置文件中的与所述第一声明值相对应的第二声明值,其中,所述第二声明值是第二属性的声明;判断所述第二声明值是否唯一,若否,则判定所述源代码文件存在错误。
【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:获取待检测的源代码文件中的模块Bundle的配置文件;读取所述配置文件中的第一声明值,其中,所述第一声明值是第一属性的声明;逐一读取所述配置文件中的与所述第一声明值相对应的第二声明值,其中,所述第二声明值是第二属性的声明;判断所述第二声明值是否唯一,若否,则判定所述源代码文件存在错误。2.根据权利要求1所述的方法,其特征在于,逐一读取所述配置文件中的与所述第一声明值相对应的第二声明值,具体包括:从所述配置文件中读取一个与所述第一声明值相对应的第二声明值;判断测试容器中是否存在所述第一声明值;若是,则从所述测试容器中读取与所述第一声明值相对应的第二声明值;若否,则将从所述配置文件中读取到的第一声明值及第二声明值插入到所述测试容器中;则,判断所述第二声明值是否唯一,若否,则判定所述源代码文件存在错误,具体包括:若所述测试容器中存在所述第一声明值,且从所述测试容器中读取到的第二声明值不等于从所述配置文件中读取到的第二声明值,则判定所述源代码文件存在错误。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将存在错误的第二声明值及与存在错误的第二声明值相对应的第一声明值进行展示。4.根据权利要求1所述的方法,其特征在于,获取待检测的源代码文件中的模块Bundle的配置文件,具体包括:确定所述源代码文件所在的目录;判断所述目录的子目录中是否存在特定文件;若是,则获取所述子目录中包含的配置文件。5.根据权利要求1所述的方法,其特征在于,获取待检测的源代码文件中的模块Bundle的配置文件之后,读取所述配置文件中的第一声明值之前,所述方法还包括:读取所述配置文件,并将所述配置文件的格式转换成字符串格式;删除所述字符串格式的文件中的干扰内容;将删除所述干扰内容后的字符串格式转换成所述配置文件的格式。6.根据权利要求1所述的方法,其特征在于,所述第一属性是组件Bean的标识,所述第二属性是组件Bean所定义的类Class、或者组件Bean所定义的父类Parent。7.根据权利要求1所述的方法,其特征在于,所述第一属性是模块Bundle引用的服务,所述第二属性是模块Bundle引用的服务的引用接口refInterface、或者模块Bundle引用的服务所定义的引用标识refUniqueid。8.根据权利要求1所述的方法,其特征在于,所述第二属性是模块Bundle发布的服务所定义的服务类serviceClass,所述第一属性包括模块Bundle发布的服务的发布接口serviceInterface及模块Bundle发布的服务所定义的发布标识serviceUniqu...
【专利技术属性】
技术研发人员:张艳华,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。