代码注释的占比统计方法、装置及计算机设备与流程

专利2025-02-27  28


本技术涉及计算机领域,并且更具体地,涉及计算机领域中一种代码注释的占比统计方法、装置及计算机设备。


背景技术:

1、代码注释是在程序代码中写入的文本,旨在解释代码的含义、用途或者提供其他的信息。注释不会被程序执行,主要是用来帮助程序员阅读和理解代码。代码中的注释占比越高时,越便于用户阅读代码并理解代码的含义。因此,自动统计代码中的代码注释行的占比对于判断程序代码可读性是有必要的。


技术实现思路

1、本技术提供了一种代码注释的占比统计方法、装置及计算机设备,该方法能够提高代码注释占比统计的准确率。

2、第一方面,提供了一种代码注释的占比统计方法,该方法包括:识别新增代码中的当前代码行中是否存在起始标识符;在当前代码行中存在起始标识符的情况下,识别起始标识符的符号类型,符号类型包括单行标识和多行标识;基于符号类型,确定代码注释的行数累计方式;基于行数累计方式,累计得到新增代码中包含的代码注释的目标行数,以确定新增代码中代码注释的目标占比。

3、上述技术方案中,本实施例提供了一种代码注释的占比统计方法:识别新增代码中的当前代码行中是否存在起始标识符;若当前代码行存在起始标识符,则识别起始标识符的符号类型;基于符号类型,确定代码注释的行数累计方式;再基于符号类型对应的行数累计方式,累计得到新增代码中包含的代码注释的目标行数,用于确定新增代码中代码注释的目标占比。通过对新增代码中当前代码行中的起始标识符进行识别,以确定代码注释的目标行数,用于确定代码注释的目标占比,实现对代码注释的自动化统计。考虑到代码注释较少时,仅占用单行,当代码注释较多时,需要占用多行,两种代码注释的识别特征不同,对应通过识别起始标识符的符号类型,并针对不同符号类型采取不同的行数累计方式,以提高代码注释的识别准确性,进一步提高代码注释占比的统计准确性。

4、结合第一方面,在某些可能的实现方式中,基于符号类型,确定代码注释的行数累计方式,包括:在符号类型是单行标识的情况下,设置代码注释的目标行数累计增加单位行数;在符号类型是多行标识的情况下,识别当前代码行中是否存在终止标识符;基于终止标识符的识别结果,确定代码注释的行数累计方式。

5、结合第一方面和上述实现方式,在某些可能的实现方式中,基于终止标识符的识别结果,确定代码注释的行数累计方式,包括:在当前代码行中存在终止标识符的情况下,设置代码注释的目标行数累计增加单位行数;在当前代码行中不存在终止标识符的情况下,为当前代码行下方的目标代码设置第一注释标识,以及设置代码注释的目标行数累计增加单位行数,目标代码是当前代码行下方未统计的全部新增代码。

6、上述技术方案中,考虑到当代码注释为多行代码注释时,中间行的代码注释中既不包括起始标识符,也不包括终止标识符,为了便于对多行代码注释进行识别,本技术还提出了:当识别到起始标识符的符号类型为单行标识时,直接设置代码注释的目标行数累计增加单位行数;当符号类型是多行标识时,识别当前代码行中是否存在终止标识符;若存在终止标识符,则设置目标行数累计增加单位行数;若不存在终止标识符,则为当前代码行下方的目标代码设置新增识别特征即第一注释标识,以指示目标代码为多行代码注释中的一行。在后续的识别过程中,除通过起始标识符和终止标识符识别代码注释,还可以通过判断代码行是否设置有第一注释标识,以确定该行是否为代码注释行,提高代码注释的识别准确性,进一步提高代码注释占比的统计准确性。

7、结合第一方面和上述实现方式,在某些可能的实现方式中,当前代码行是第i代码行;该方法还包括:在识别到第i+1代码行中包括终止标识符的情况下,设置代码注释的目标行数累计增加单位行数,以及将目标代码行由第一注释标识变更为第二注释标识;在识别到第i+1代码行中不包括终止标识符,且第i+1代码行设置有第一注释标识的情况下,设置代码注释的目标行数累计增加单位行数。

8、上述技术方案中,本技术还提出了:以当前代码行为第i代码行;当识别到第i+1代码行中包括终止标识符时,设置代码注释的目标行数累计增加单位行数,并将目标代码行由第一注释标识变更为第二注释标识;当第i+1代码行中不包括终止标识符,且设置有第一注释标识时,直接设置代码注释的目标行数累计增加单位行数;基于是否包含终止标识符和是否设置有第一注释标识,判断代码行是否为代码注释,并在识别到第i+1代码行中包括终止标识符的情况下,将第一注释标识变更为第二注释标识,指示下方的目标代码不包括代码注释,进一步提高了当符号类型为多行标识时统计目标行数的便捷性和准确性。

9、结合第一方面和上述实现方式,在某些可能的实现方式中,该方法还包括:在当前代码行中不包括起始标识符和终止标识符,且当前代码行未设置多重注释标识的情况下,不更新代码注释的目标行数,多重注释标识包括第一注释标识和第二注释标识,第一注释标识指示当前代码行是多行代码注释中的一行,第二注释标识指示当前代码行不是多行代码注释中的一行;或,在当前代码行中不包括起始标识符和终止标识符,且当前代码行的多重注释标识为第二注释标识的情况下,不更新代码注释的目标行数。

10、结合第一方面和上述实现方式,在某些可能的实现方式中,识别新增代码中的当前代码行中是否存在起始标识符,包括:在当前代码行未设置有多重注释标识的情况下,识别当前代码行中是否存在起始标识符;该方法还包括:在当前代码行设置有多重注释标识的情况下,基于多重注释标识,确定识别当前代码行中的起始标识符或终止标识符。

11、结合第一方面和上述实现方式,在某些可能的实现方式中,基于多重注释标识,确定识别当前代码行中的起始标识符或终止标识符,包括:在多重注释标识是第二注释标识的情况下,确定识别当前代码行中是否存在起始标识符;在多重注释标识是第一注释标识的情况下,确定识别当前代码行中是否存在终止标识符。该方法还包括:在识别到当前代码行中包括终止标识符的情况下,将第一注释标识变更为第二注释标识,以及设置代码注释的目标行数累计增加单位行数。

12、上述技术方案中,考虑到在当前代码行设置有多重注释标识的情况下,若多重注释标识为第一注释标识,则表明当前代码行为多行注释标识中的一行,则需通过识别当前代码行中是否包含终止标识符,确定该段代码注释是否结束;若多重注释标识为第二注释标识,则表明当前代码行中不包含代码注释,则需要识别当前代码行中是否包含起始标识符,以确定当前代码行中是否包含代码注释。结合对多重注释标识的识别,避免对起始标识符或终止标识符的无效识别,在提高代码注释的识别准确性的基础上,也提高了代码注释的识别效率,进一步提高代码注释占比的统计效率。

13、结合第一方面和上述实现方式,在某些可能的实现方式中,确定新增代码中代码注释的目标占比,包括:获取新增代码的总行数;将目标行数与总行数的比值确定为新增代码中代码注释的目标占比。

14、上述技术方案中,考虑到代码注释的目标占比需要由代码注释的目标行数和新增代码的总行数共同确定。本技术还提出了:获取新增代码的总行数,将代码注释的目标行数与新增代码的总行数的比值确定为新增代码中代码注释的目标占比,实现目标占比的自动统计。

15、第二方面,提供了一种代码注释的占比统计装置,该装置包括:第一识别模块,用于识别新增代码中的当前代码行中是否存在起始标识符;第二识别模块,用于在当前代码行中存在起始标识符的情况下,识别起始标识符的符号类型,符号类型包括单行标识和多行标识;第一确定模块,用于基于符号类型,确定代码注释的行数累计方式;第二确定模块,用于基于行数累计方式,累计得到新增代码中包含的代码注释的目标行数,以确定新增代码中代码注释的目标占比。

16、结合第二方面,在某些可能的实现方式中,第一确定模块,还用于在符号类型是单行标识的情况下,设置代码注释的目标行数累计增加单位行数;在符号类型是多行标识的情况下,识别当前代码行中是否存在终止标识符;基于终止标识符的识别结果,确定代码注释的行数累计方式。

17、结合第二方面和上述实现方式,在某些可能的实现方式中,第一确定模块,还用于在当前代码行中存在终止标识符的情况下,设置代码注释的目标行数累计增加单位行数;在当前代码行中不存在终止标识符的情况下,为当前代码行下方的目标代码设置第一注释标识,以及设置代码注释的目标行数累计增加单位行数,目标代码是当前代码行下方未统计的全部新增代码。

18、结合第二方面和上述实现方式,在某些可能的实现方式中,当前代码行是第i代码行;该装置还包括:第一设置模块,用于在识别到第i+1代码行中包括终止标识符的情况下,设置代码注释的目标行数累计增加单位行数,以及将目标代码行由第一注释标识变更为第二注释标识;第二设置模块,用于在识别到第i+1代码行中不包括终止标识符,且第i+1代码行设置有第一注释标识的情况下,设置代码注释的目标行数累计增加单位行数。

19、结合第二方面和上述实现方式,在某些可能的实现方式中,该装置还包括:第三设置模块,用于在当前代码行中不包括起始标识符和终止标识符,且当前代码行未设置多重注释标识的情况下,不更新代码注释的目标行数,多重注释标识包括第一注释标识和第二注释标识,第一注释标识指示当前代码行是多行代码注释中的一行,第二注释标识指示当前代码行不是多行代码注释中的一行;或,第四设置模块,用于在当前代码行中不包括起始标识符和终止标识符,且当前代码行的多重注释标识为第二注释标识的情况下,不更新代码注释的目标行数。

20、结合第二方面和上述实现方式,在某些可能的实现方式中,第一识别模块,还用于在当前代码行未设置有多重注释标识的情况下,识别当前代码行中是否存在起始标识符;该装置还包括:第四识别模块,用于在当前代码行设置有多重注释标识的情况下,基于多重注释标识,确定识别当前代码行中的起始标识符或终止标识符。

21、结合第二方面和上述实现方式,在某些可能的实现方式中,第四识别模块,还用于在多重注释标识是第二注释标识的情况下,确定识别当前代码行中是否存在起始标识符;在多重注释标识是第一注释标识的情况下,确定识别当前代码行中是否存在终止标识符;该装置还包括:第三设置模块,用于在识别到当前代码行中包括终止标识符的情况下,将第一注释标识变更为第二注释标识,以及设置代码注释的目标行数累计增加单位行数。

22、结合第二方面和上述实现方式,在某些可能的实现方式中,第二确定模块,还用于获取新增代码的总行数;将目标行数与总行数的比值确定为新增代码中代码注释的目标占比。

23、第三方面,提供了一种计算机设备,包括存储器和处理器。该存储器用于存储可执行程序代码,该处理器用于从存储器中调用并运行该可执行程序代码,使得该计算机设备执行上述第一方面或第一方面任意一种可能的实现方式中的方法。

24、第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。

25、第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。


技术特征:

1.一种代码注释的占比统计方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述符号类型,确定所述代码注释的行数累计方式,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述终止标识符的识别结果,确定所述代码注释的所述行数累计方式,包括:

4.根据权利要求3所述的方法,其特征在于,所述当前代码行是第i代码行;

5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至4任一所述的方法,其特征在于,所述识别新增代码中的当前代码行中是否存在起始标识符,包括:

7.根据权利要求6所述的方法,其特征在于,所述基于所述多重注释标识,确定识别所述当前代码行中的所述起始标识符或终止标识符,包括:

8.根据权利要求1至4任一所述的方法,其特征在于,所述确定所述新增代码中所述代码注释的目标占比,包括:

9.一种代码注释的占比统计装置,其特征在于,所述装置包括:

10.一种计算机设备,其特征在于,所述计算机设备包括:


技术总结
本申请提供了一种代码注释的占比统计方法、装置及计算机设备,该方法应用于计算机领域,该方法包括:识别新增代码中的当前代码行中是否存在起始标识符;在当前代码行中存在起始标识符的情况下,识别起始标识符的符号类型,符号类型包括单行标识和多行标识;基于符号类型,确定代码注释的行数累计方式;基于行数累计方式,累计得到新增代码中包含的代码注释的目标行数,以确定新增代码中代码注释的目标占比。该方法能够提高统计代码注释占比的准确性。

技术研发人员:郭小娜
受保护的技术使用者:长城汽车股份有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1816633.html

最新回复(0)