System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 代码内容的修复方法、装置、设备、存储介质及程序产品制造方法及图纸_技高网

代码内容的修复方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:42730790 阅读:1 留言:0更新日期:2024-09-13 12:16
本申请公开了一种代码内容的修复方法、装置、设备、存储介质及程序产品,涉及计算机技术领域。该方法包括:获取代码文件中的目标代码内容,目标代码内容对应代码语法结构;基于代码语法结构生成与目标代码内容对应的抽象语法树,抽象语法树中的节点用于指示目标代码内容中的至少一个内容组成部分;基于至少一种修复要求遍历抽象语法树中的多个节点;响应于多个节点中存在符合目标修复要求的目标节点,基于目标修复要求对目标节点对应的代码内容进行代码修复,得到修复代码,目标修复要求包括注释修复要求、格式修复要求和字符数量修复要求中的至少一种;将修复代码替换目标代码内容,得到目标代码文件,提高了代码修复效率。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种代码内容的修复方法、装置、设备、存储介质及程序产品


技术介绍

1、立足于当前互联网降本提效的大环境,面临大量历史存量工程代码质量问题,在持续集成过程中检测出大量不符合规范的代码问题后,还需要对代码仓库进行修改。

2、相关技术中,通过代码仓库的维护者在代码仓库创建修复分支,在仓库中找到对应的文件与问题,按照代码规范,并参考修复建议,针对每个问题进行逐个手工修复。

3、然而,上述方法由于人工逐个修复时间和资源消耗较大,且受疲劳等因素影响,代码修复效率较低。


技术实现思路

1、本申请实施例提供了一种代码内容的修复方法、装置、设备、存储介质及程序产品,能够实现代码内容的修复。所述技术方案如下。

2、一方面,提供了一种代码内容的修复方法,所述方法包括:

3、获取代码文件中的目标代码内容,所述目标代码内容对应代码语法结构;

4、基于所述代码语法结构生成与所述目标代码内容对应的抽象语法树,所述抽象语法树用于以树形结构对所述目标代码内容的代码语法结构进行表达,所述抽象语法树中的节点用于指示所述目标代码内容中的至少一个内容组成部分;

5、基于至少一种修复要求遍历所述抽象语法树中的多个节点;

6、响应于所述多个节点中存在符合目标修复要求的目标节点,基于所述目标修复要求对所述目标节点对应的代码内容进行代码修复,得到修复代码;

7、将所述修复代码替换所述目标代码内容,得到目标代码文件。

8、另一方面,提供了一种代码内容的修复装置,所述装置包括:

9、目标代码内容获取模块,用于获取代码文件中的目标代码内容,所述目标代码内容对应代码语法结构;

10、抽象语法树生成模块,用于基于所述代码语法结构生成与所述目标代码内容对应的抽象语法树,所述抽象语法树用于以树形结构对所述目标代码内容的代码语法结构进行表达,所述抽象语法树中的节点用于指示所述目标代码内容中的至少一个内容组成部分;

11、节点遍历模块,用于基于至少一种修复要求遍历所述抽象语法树中的多个节点;

12、代码修复模块,用于响应于所述多个节点中存在符合目标修复要求的目标节点,基于所述目标修复要求对所述目标节点对应的代码内容进行代码修复,得到修复代码;

13、目标代码文件获取模块,用于将所述修复代码替换所述目标代码内容,得到目标代码文件。

14、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的代码内容的修复方法。

15、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的代码内容的修复方法。

16、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的代码内容的修复方法。

17、本申请实施例提供的技术方案带来的有益效果至少包括:

18、通过生成与目标代码对容的抽象语法树,基于至少一种修复要求遍历抽象语法树中的多个节点,响应于多个节点中存在符合目标修复要求的目标节点,基于目标修复要求对目标节点对应的代码内容进行代码修复,得到修复代码,将修复代码替换目标代码内容,得到目标代码文件,基于代码语法结构以及修复要求实现了自动定位需要进行修复的代码内容并进行修复,提高了代码修复效率。

本文档来自技高网...

【技术保护点】

1.一种代码内容的修复方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于至少一种修复要求遍历所述抽象语法树中的多个节点,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述注释修复要求遍历所述抽象语法树中的第一节点之前,还包括:

4.根据权利要求2所述的方法,其特征在于,所述响应于所述第一节点中存在符合所述注释修复要求的目标节点,基于所述注释修复要求对所述目标节点对应的代码内容进行代码修复,得到所述修复代码,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于至少一种修复要求遍历所述抽象语法树中的多个节点,包括:

6.根据权利要求5所述的方法,其特征在于,所述响应于所述第二节点中存在符合所述格式修复要求的目标节点,基于所述格式修复要求对所述目标节点对应的代码内容进行代码修复,得到所述修复代码,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于至少一种修复要求遍历所述抽象语法树中的多个节点,包括:

8.根据权利要求7所述的方法,其特征在于,所述响应于所述第三节点中存在符合所述字符数量修复要求的目标节点,基于所述字符数量修复要求对所述目标节点对应的代码内容进行代码修复,得到所述修复代码,包括:

9.一种代码内容的修复装置,其特征在于,所述装置,包括:

10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至8任一所述的代码内容的修复方法。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至8任一所述的代码内容的修复方法。

12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一所述的代码内容的修复方法。

...

【技术特征摘要】

1.一种代码内容的修复方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于至少一种修复要求遍历所述抽象语法树中的多个节点,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述注释修复要求遍历所述抽象语法树中的第一节点之前,还包括:

4.根据权利要求2所述的方法,其特征在于,所述响应于所述第一节点中存在符合所述注释修复要求的目标节点,基于所述注释修复要求对所述目标节点对应的代码内容进行代码修复,得到所述修复代码,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于至少一种修复要求遍历所述抽象语法树中的多个节点,包括:

6.根据权利要求5所述的方法,其特征在于,所述响应于所述第二节点中存在符合所述格式修复要求的目标节点,基于所述格式修复要求对所述目标节点对应的代码内容进行代码修复,得到所述修复代码,包括:

7.根据权利要求1所述的方法,其特征在于...

【专利技术属性】
技术研发人员:唐伟王冬蒋靖李欣
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1