本申请涉及计算机,特别涉及一种代码修正方法及装置、电子设备、计算机可读存储介质、计算机程序产品。
背景技术:
1、随着ai(artificial intelligence,人工智能)大模型的发展,对于多个行业的辅助生产能力有了显著提升。在开发领域,可以借助ai大模型对开发人员编写的代码进行错误识别。目前,ai大模型经过大量代码样本训练,能够理解和分析编程语言的语法和逻辑结构。在开发过程中,开发人员可以将代码提交至ai大模型,使得ai大模型识别出代码中的语法错误、逻辑错误、性能问题和安全漏洞,并基于检测到的问题给出对应的解决方案。
2、然而,相关方案中,开发人员依据ai大模型提供的反馈和建议,对代码进行修改之后,新的代码可能仍然存在问题。因此,开发人员需要重新将代码提交至ai大模型,使得ai大模型重新对代码中的错误进行识别。每次修改完均需要重新提交,并基于ai大模型的输出结果重新修改代码。整个过程需要人工多次介入处理,效率低下,时间成本较高。
技术实现思路
1、本申请实施例的目的在于提供一种代码修正方法及电子设备、存储介质、计算机程序产品,用于提高代码修正的效率,降低时间成本。
2、一方面,本申请提供了一种代码修正方法,应用于编辑器,所述编辑器搭载目标插件,所述目标插件集成python的基础环境,包括:
3、在代码编写过程中,将代码和执行环境复制到所述目标插件内;
4、响应于测试指令,确定触发对所述目标插件内被测代码的代码测试功能;
5、通过所述目标插件在所述基础环境和所述被测代码的执行环境下,执行所述被测代码,并判断是否捕获错误信息;
6、若是,通过所述目标插件将所述被测代码和所述错误信息提交至指定ai大模型;
7、通过所述目标插件获取所述指定ai大模型返回的修正后代码,将所述修正后代码作为新的被测代码,返回所述执行所述被测代码,并判断是否捕获错误信息的步骤;
8、反复迭代,直至无法捕获错误信息,将最后获得的修正后代码作为正确代码。
9、在一实施例中,在所述响应于测试指令,确定触发对所述目标插件内被测代码的代码测试功能之前,所述方法还包括:
10、响应于针对代码编写界面的选择操作指令,从所述目标插件内已复制的代码中确定被测代码。
11、在一实施例中,所述指定ai大模型包括多个子模型;
12、所述通过所述目标插件将所述被测代码和所述错误信息提交至指定ai大模型,包括:
13、通过所述目标插件将所述被测代码和所述错误信息分别提交至各个子模型;
14、所述通过所述目标插件获取所述指定ai大模型返回的修正后代码,将所述修正后代码作为新的被测代码,包括:
15、通过所述目标插件获取各个子模型返回的修正后代码,并将各个修正后代码分别作为新的被测代码;
16、所述反复迭代,直至无法捕获错误信息,将最后获得的修正后代码作为正确代码,包括:
17、反复迭代,当任一被测代码在执行过程无法捕获错误信息,将该被测代码作为正确代码。
18、在一实施例中,所述方法还包括:
19、通过所述目标插件在用户界面上将所述正确代码和初始的被测代码进行对比展示,并标注修改部分以及错误信息的错误原因。
20、在一实施例中,所述方法还包括:
21、响应于替换指令,将所述正确代码替换初始的被测代码。
22、在一实施例中,所述目标插件集成所述指定ai大模型的应用程序编程接口api;
23、所述通过所述目标插件将所述被测代码和所述错误信息提交至指定ai大模型,包括:
24、通过所述目标插件调用所述api,以将所述被测代码和所述错误信息提交至所述指定ai大模型。
25、另一方面,本申请提供了一种代码修正装置,所述编辑器搭载目标插件,所述目标插件集成python的基础环境,包括:
26、复制模块,用于在代码编写过程中,将代码和执行环境复制到所述目标插件内;
27、确定模块,用于响应于测试指令,确定触发对所述目标插件内被测代码的代码测试功能;
28、执行模块,用于通过所述目标插件在所述基础环境和所述被测代码的执行环境下,执行所述被测代码,并判断是否捕获错误信息;
29、提交模块,用于若是,通过所述目标插件将所述被测代码和所述错误信息提交至指定ai大模型;
30、更新模块,用于通过所述目标插件获取所述指定ai大模型返回的修正后代码,将所述修正后代码作为新的被测代码,返回所述执行所述被测代码,并判断是否捕获错误信息的步骤;
31、终止模块,用于反复迭代,直至无法捕获错误信息,将最后获得的修正后代码作为正确代码。
32、另一方面,本申请提供了一种电子设备,所述电子设备包括:
33、处理器;
34、用于存储处理器可执行指令的存储器;
35、其中,所述处理器被配置为执行上述代码修正方法。
36、进一步的,本申请提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述代码修正方法。
37、此外,本申请提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述代码修正方法。
38、本申请方案,通过在编辑器上集成目标插件,使得目标插件在代码编写过程中可以复制代码和执行环境,从而在开启代码测试功能时,可以自动化执行被测代码,并在捕获错误信息时,通过指定ai大模型来对错误进行修正,并在修正未完成的情况下,通过迭代修复,确保能够获得正确代码。这一过程中,无需人工多次介入,且通过执行代码来定位错误,有效借助指定ai大模型对错误进行针对性修正,从而提高了整个修正过程的效率,节省了修正所需的时间。
1.一种代码修正方法,应用于编辑器,其特征在于,所述编辑器搭载目标插件,所述目标插件集成python的基础环境,包括:
2.根据权利要求1所述的方法,其特征在于,在所述响应于测试指令,确定触发对所述目标插件内被测代码的代码测试功能之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述指定ai大模型包括多个子模型;
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述目标插件集成所述指定ai大模型的应用程序编程接口api;
7.一种代码修正装置,应用于编辑器,其特征在于,所述编辑器搭载目标插件,所述目标插件集成python的基础环境,包括:
8.一种电子设备,其特征在于,所述电子设备包括:
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-6任意一项所述的代码修正方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-6任意一项所述的代码修正方法。