代码质量的检测方法及装置制造方法及图纸

技术编号:39863950 阅读:13 留言:0更新日期:2023-12-30 12:56
本申请公开了一种代码质量的检测方法及装置

【技术实现步骤摘要】
代码质量的检测方法及装置、存储介质和电子设备


[0001]本申请涉及计算机


金融科技领域及其他相关领域,具体而言,涉及一种代码质量的检测方法及装置

存储介质和电子设备


技术介绍

[0002]在对线上金融项目进行开发时,不可避免地会采用一些存在循环语句的代码实现金融业务,同时一个线上金融项目的开发是一项系统系工程,在开发过程中会因为循环语句的频繁使用而产生复杂的循环逻辑,并且在特定数据环境下,这些复杂的循环逻辑可能会出现死循环的问题

相关技术中关于对代码中的死循环进行检测的方法,通常需要在死循环发生一段时间并且应用系统的性能指标受到一定影响后,才能检测到代码中的死循环,导致对代码中的死循环进行检测的及时性比较低,产生一定的时间滞后,从而对线上金融项目的开发产生影响,后果严重时甚至会影响到项目整体的开发与运行

[0003]针对相关技术中通常代码中的死循环在发生后才能够被检测出,导致对代码中的死循环进行检测的及时性比较低的问题,目前尚未提出有效的解决方案


技术实现思路

[0004]本申请的主要目的在于提供一种代码质量的检测方法及装置

存储介质和电子设备,以解决相关技术中通常代码中的死循环在发生后才能够被检测出,导致对代码中的死循环进行检测的及时性比较低的问题

[0005]为了实现上述目的,根据本申请的一个方面,提供了一种代码质量的检测方法

>该方法包括:获取原始代码,并对所述原始代码中存在循环语句的代码进行标注,得到带有目标注解信息的原始代码,其中,所述目标注解信息用于标注所述原始代码中存在循环语句;依据所述目标注解信息,从所述带有目标注解信息的原始代码中提取第一代码,其中,所述第一代码是存在循环语句的代码;依据所述第一代码,创建目标检测线程,其中,所述目标检测线程用于执行对所述第一代码的检测任务;通过所述目标检测线程对所述第一代码进行检测,确定检测结果,其中,所述检测结果用于表征所述第一代码中的循环语句是否为死循环

[0006]进一步地,依据所述第一代码,创建目标检测线程包括:获取所述第一代码的运行参数,其中,所述运行参数表征所述第一代码运行的数据环境;依据所述第一代码的运行参数,确定所述目标运行参数,其中,所述目标运行参数用于搭建所述目标检测线程的数据环境;依据预设线程数量,创建目标线程池,其中,所述目标线程池用于运行所述目标检测线程;依据所述目标运行参数和所述目标线程池,在所述目标线程池中创建所述目标检测线程

[0007]进一步地,通过所述目标检测线程对所述第一代码进行检测,确定检测结果包括:获取检测代码,并通过面向切面编程的方式将所述检测代码注入至所述第一代码中,得到第二代码,其中,所述检测代码用于检测所述第一代码中的循环语句是否为死循环;通过所
述目标检测线程运行所述第二代码,对所述第一代码进行检测,确定所述检测结果

[0008]进一步地,通过所述目标检测线程运行所述第二代码,对所述第一代码进行检测,确定所述检测结果包括:获取检测阈值信息,其中,所述检测阈值信息包括以下至少之一:循环次数阈值

执行时间阈值

中央处理器使用率阈值

内存使用率阈值和磁盘使用率阈值,所述循环次数阈值表征所述第二代码中的循环语句循环的最大次数,所述执行时间阈值表征所述第二代码中的循环语句的最大执行时间,所述中央处理器使用率阈值表征所述目标检测线程运行时最大的中央处理器使用率,所述内存使用率阈值表征所述目标检测线程运行时最大的内存使用率,所述磁盘使用率阈值表征所述目标检测线程运行时最大的磁盘使用率;获取所述目标检测线程的目标信息,其中,所述目标信息包括以下至少之一:循环次数

执行时间

中央处理器使用率

内存使用率和磁盘使用率;依据所述检测阈值信息和所述目标信息,对所述第一代码进行检测,确定所述检测结果

[0009]进一步地,依据所述检测阈值信息和所述目标信息,对所述第一代码进行检测,确定检测结果包括:判断所述目标信息中的数值是否大于所述检测阈值信息中所述目标信息中的数值对应的阈值,得到目标判断结果,其中,所述目标判断结果包括以下至少之一:所述循环次数是否大于所述循环次数阈值的判断结果

所述执行时间是否大于所述执行时间阈值的判断结果

所述中央处理器使用率是否大于所述中央处理器使用率阈值的判断结果

所述内存使用率是否大于所述内存使用率阈值的判断结果和所述磁盘使用率是否大于所述磁盘使用率阈值的判断结果;依据所述目标判断结果,确定所述检测结果

[0010]进一步地,依据所述目标判断结果,确定所述检测结果包括:若所述目标判断结果表征所述目标信息中的数值大于所述检测阈值信息中所述目标信息中的数值对应的阈值,则确定所述检测结果为所述第一代码中的循环语句是死循环;若所述目标判断结果表征所述目标信息中的数值小于或者等于所述检测阈值信息中所述目标信息中的数值对应的阈值,则确定所述检测结果为所述第一代码中的循环语句不是死循环

[0011]进一步地,所述方法还包括:若所述检测结果表征所述第一代码中的循环语句是死循环,则触发报警信号;依据所述报警信号,向目标对象发送报警信息,其中,所述报警信息用于表征所述第一代码中的循环语句是死循环

[0012]为了实现上述目的,根据本申请的另一方面,提供了一种代码质量的检测装置

该装置包括:获取单元,用于获取原始代码,并对所述原始代码中存在循环语句的代码进行标注,得到带有目标注解信息的原始代码,其中,所述目标注解信息用于标注所述原始代码中存在循环语句;提取单元,用于依据所述目标注解信息,从所述带有目标注解信息的原始代码中提取第一代码,其中,所述第一代码是存在循环语句的代码;创建单元,用于依据所述第一代码,创建目标检测线程,其中,所述目标检测线程用于执行对所述第一代码的检测任务;确定单元,用于通过所述目标检测线程对所述第一代码进行检测,确定检测结果,其中,所述检测结果用于表征所述第一代码中的循环语句是否为死循环

[0013]进一步地,创建单元包括:第一获取子单元,用于获取所述第一代码的运行参数,其中,所述运行参数表征所述第一代码运行的数据环境;确定子单元,用于依据所述第一代码的运行参数,确定所述目标运行参数,其中,所述目标运行参数用于搭建所述目标检测线程的数据环境;第一创建子单元,用于依据预设线程数量,创建目标线程池,其中,所述目标线程池用于运行所述目标检测线程;第二创建子单元,用于依据所述目标运行参数和所述
目标线程池,在所述目标线程池中创建所述目标检测线程

[0014]进一步地,确定单元包本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种代码质量的检测方法,其特征在于,包括:获取原始代码,并对所述原始代码中存在循环语句的代码进行标注,得到带有目标注解信息的原始代码,其中,所述目标注解信息用于标注所述原始代码中存在循环语句;依据所述目标注解信息,从所述带有目标注解信息的原始代码中提取第一代码,其中,所述第一代码是存在循环语句的代码;依据所述第一代码,创建目标检测线程,其中,所述目标检测线程用于执行对所述第一代码的检测任务;通过所述目标检测线程对所述第一代码进行检测,确定检测结果,其中,所述检测结果用于表征所述第一代码中的循环语句是否为死循环
。2.
根据权利要求1所述的方法,其特征在于,依据所述第一代码,创建目标检测线程包括:获取所述第一代码的运行参数,其中,所述运行参数表征所述第一代码运行的数据环境;依据所述第一代码的运行参数,确定目标运行参数,其中,所述目标运行参数用于搭建所述目标检测线程的数据环境;依据预设线程数量,创建目标线程池,其中,所述目标线程池用于运行所述目标检测线程;依据所述目标运行参数和所述目标线程池,在所述目标线程池中创建所述目标检测线程
。3.
根据权利要求1所述的方法,其特征在于,通过所述目标检测线程对所述第一代码进行检测,确定检测结果包括:获取检测代码,并通过面向切面编程的方式将所述检测代码注入至所述第一代码中,得到第二代码,其中,所述检测代码用于检测所述第一代码中的循环语句是否为死循环;通过所述目标检测线程运行所述第二代码,对所述第一代码进行检测,确定所述检测结果
。4.
根据权利要求3所述的方法,其特征在于,通过所述目标检测线程运行所述第二代码,对所述第一代码进行检测,确定所述检测结果包括:获取检测阈值信息,其中,所述检测阈值信息包括以下至少之一:循环次数阈值

执行时间阈值

中央处理器使用率阈值

内存使用率阈值和磁盘使用率阈值,所述循环次数阈值表征所述第二代码中的循环语句循环的最大次数,所述执行时间阈值表征所述第二代码中的循环语句的最大执行时间,所述中央处理器使用率阈值表征所述目标检测线程运行时最大的中央处理器使用率,所述内存使用率阈值表征所述目标检测线程运行时最大的内存使用率,所述磁盘使用率阈值表征所述目标检测线程运行时最大的磁盘使用率;获取所述目标检测线程的目标信息,其中,所述目标信息包括以下至少之一:循环次数

执行时间

中央处理器使用率

内存使用率和磁盘使用率;依据所述检测阈值信息和所述目标信息,对所述第一代码进行检测,确定所述检测结果
。5.
根据权利要求4所述的方法,其特征在于,依据所述检测阈值信息和所述...

【专利技术属性】
技术研发人员:王继鹏王明金武玉娟
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1