代码注释生成方法、装置、设备、介质和程序产品与流程

文档序号:35140577发布日期:2023-08-17 15:43阅读:63来源:国知局
代码注释生成方法、装置、设备、介质和程序产品与流程

本公开涉及人工智能领域,更具体地涉及一种代码注释生成方法、装置、设备、介质和程序产品。


背景技术:

1、为了增加代码的可读性和可维护性,通常需要对代码进行注释,注释通常是对程序代码的解释和说明。现有的代码注释方法通常分为人工注释和自动注释。其中,人工注释由技术人员手动进行代码注释,该方法费时费力,且由于每个技术人员的注释习惯不同,因此无法对注释内容进行规范,不利于其他技术人员进行后续理解。自动注释通常采用单一方法进行注释,存在注释不准确,注释格式不规范,对于部分代码无法进行注释的问题。


技术实现思路

1、鉴于上述问题,本公开提供了提高代码注释生成成功率的代码注释生成方法、装置、设备、介质和程序产品。

2、根据本公开的第一个方面,提供了一种代码注释生成方法,包括:从多种注释方式确定目标注释方式;基于目标注释方式重复对待注释代码进行注释,得到多份注释初稿;计算任意两份注释初稿之间的相似度,得到多个相似度值;根据多个相似度值确定每份注释初稿的通用值;比较每份注释初稿的通用值,将通用值最高的注释初稿确定为注释终稿。

3、根据本公开的实施例,从多种注释方式确定目标注释方式,包括:基于预设的优先级依次对待注释代码执行注释方式;将可以得到注释内容的注释方式确定为目标注释方式。

4、根据本公开的实施例,基于预设的优先级依次对待注释代码执行多种注释方式,包括:基于待注释代码的依赖关系来获取第一注释内容;响应于未获取到第一注释内容,执行基于待注释代码的函数名和变量类型的注释方式来获取第二注释内容;响应于未获取到第二注释内容,执行基于待注释代码的类方法调用关系的注释方式来获取第三注释内容;响应于未获取到第三注释内容,执行基于待注释代码的语义内容的注释方式来获取第四注释内容。

5、根据本公开的实施例,基于待注释代码的依赖关系来获取第一注释内容,包括:筛选待注释代码中符合稀有规则的代码;响应于筛选后的代码中存在依赖包,在预设的文档库中获取依赖包注释,得到第一注释内容;其中,筛选待注释代码中符合稀有规则的代码包括:统计每一代码的出现频次,将出现频次低于阈值的代码确定为符合稀有规则的代码;预设的文档库包含依赖包的官方注释。

6、根据本公开的实施例,获取依赖包的注释,还包括:统计依赖包注释的字数;在字数超过阈值的情况下,执行注释缩写。

7、根据本公开的实施例,基于待注释代码的函数名和变量类型获取第二注释内容,包括:基于编译器进行待注释代码中函数名和变量类型的识别,得到第二注释内容;其中,基于编译器进行待注释代码识别还包括:确定待注释代码所使用的编程语言;基于编程语言将待注释代码输入至对应的编译器中;其中,每一编译器对应一种编程语言。

8、根据本公开的实施例,基于待注释代码的类方法调用关系获取第三注释内容,包括:基于待注释代码的类方法调用关系构建调用关系结构树;在预先构建的关系结构库中查找同构关系结构树;将同构关系结构树的代码注释作为第三注释内容;其中,预先构建的关系结构库包含多个结构树以及与每一结构树对应的注释。

9、根据本公开的实施例,基于待注释代码的语义内容获取第四注释内容,包括:在预先构建的算法注释库中查找符合条件的代码;其中,符合条件的代码为满足与待注释代码内容的相似值的代码;将符合条件的代码注释作为第四注释内容。

10、根据本公开的实施例,预先构建的算法注释库的构建方法,包括:定期爬取网络中的开源代码及其注释;统计开源代码的出现频率,基于出现频率确定常用代码;响应于算法注释库中不包含该常用代码,将常用代码及其注释保存至算法注释库。

11、根据本公开的实施例,根据多个相似度值确定每个注释初稿的通用值,包括:计算该注释初稿与其余注释初稿之间相似度值的平均值,平均值即为该注释初稿的通用值。

12、本公开的第二方面提供了一种代码注释生成装置,包括:目标方式确定模块,用于从多种注释方式确定目标注释方式;重复注释模块,用于基于目标注释方式重复对待注释代码进行注释,得到多份注释初稿;相似计算模块,用于计算任意两份注释初稿之间的相似度,得到多个相似度值;通用值计算模块,用于根据多个相似度值确定每份注释初稿的通用值;注释终稿确定模块,用于比较每份注释初稿的通用值,将通用值最高的注释初稿确定为注释终稿。

13、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述代码注释生成方法。

14、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述代码注释生成方法。

15、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述代码注释生成方法。



技术特征:

1.一种代码注释生成方法,其特征在于,包括:

2.根据权利要求1所述的代码注释生成方法,其特征在于,所述从多种注释方式确定目标注释方式,包括:

3.根据权利要求2所述的代码注释生成方法,其特征在于,所述基于预设的优先级依次对所述待注释代码执行多种注释方式,包括:

4.根据权利要求2所述的代码注释生成方法,其特征在于,所述基于待注释代码的依赖关系来获取第一注释内容,包括:

5.根据权利要求3所述的代码注释生成方法,其特征在于,在所述获取所述依赖包的注释,还包括:

6.根据权利要求2所述的代码注释生成方法,其特征在于,所述基于待注释代码的函数名和变量类型获取第二注释内容,包括:

7.根据权利要求2所述的代码注释生成方法,其特征在于,所述基于待注释代码的类方法调用关系获取第三注释内容,包括:

8.根据权利要求2所述的代码注释生成方法,其特征在于,所述基于待注释代码的语义内容获取第四注释内容,包括:

9.根据权利要求7所述的代码注释方法,其特征在于,所述预先构建的算法注释库的构建方法,包括:

10.根据权利要求1所述的代码注释方法,其特征在于,所述根据所述多个相似度值确定每个注释初稿的通用值,包括:计算该注释初稿与其余注释初稿之间相似度值的平均值,所述平均值即为该注释初稿的通用值。

11.一种代码注释生成装置,包括:

12.一种电子设备,包括:

13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~10中任一项所述的方法。

14.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~10中任一项所述的方法。


技术总结
本公开提供了一种代码注释生成方法、装置、设备、存储介质和程序产品,可以应用于人工智能领域。该代码注释生成方法包括:从多种注释方式确定目标注释方式;基于目标注释方式重复对待注释代码进行注释,得到多份注释初稿;计算任意两份注释初稿之间的相似度,得到多个相似度值;根据多个相似度值确定每份注释初稿的通用值;比较每份注释初稿的通用值,将通用值最高的注释初稿确定为注释终稿。

技术研发人员:采安琪
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1