AI编码,十倍提速,通义灵码引领研发新范式

B站影视 2025-01-16 13:25 3

摘要:本方案提出以通义灵码为核心的智能开发流程。通义灵码在代码生成、注释添加及单元测试方面实现快速生成,云效则作为代码管理和持续集成平台,最终将应用程序部署到函数计算 FC 平台。

本方案提出以通义灵码为核心的智能开发流程。通义灵码在代码生成、注释添加及单元测试方面实现快速生成,云效则作为代码管理和持续集成平台,最终将应用程序部署到函数计算 FC 平台。

适用客户:

本方案通过将通义灵码服务集成到本地IDE中,为开发者提供智能化的编码辅助功能,包括代码解释、自然语言生成代码、注释生成、单元测试生成等。结合云效进行代码版本管理、代码检测和单元测试,开发者不仅能够高效协作和交付项目,还可以通过云效将项目代码部署到函数计算 FC,提升开发效率,减少人为错误,加速项目交付,为开发者提供无缝的编码、管理和部署体验。

(1) 方案架构

按照本方案提供的配置完成部署后,会在阿里云上搭建一个如下图所示的运行环境。实际部署时,您可根据具体的资源规划调整部分配置,但最终的运行环境将与下图展示的架构相似。

本方案的技术架构包括以下云服务:

通义灵码:基于通义大模型的智能编程辅助工具。云效代码仓库:存放网站源代码。云效流水线:持续构建和部署工作流。函数计算 FC :用于部署应用程序。

体验前所未有的开发乐趣,【AI编码,码力全开,通义灵码引领研发新范式-阿里云技术解决方案】让我们一起把工作变得更快、更简单、更有趣!

(1) 代码管理与自动检测

当前项目是一个提供算法题实现的在线网页,其中包括了两道具体的算法题目:“数组交集提取”以及“计算日期间隔”。“数组交集提取”代码已经完全实现,而“计算日期间隔”则仅仅完成了前端页面的设计,其后端处理逻辑还有待开发。

通过将代码导入云效平台,能够实现代码的集中管理和版本控制。结合云效的流水线功能,可以构建自动化的持续集成与持续交付(CI/CD)流程,代码检测作为流水线的一部分,能够快速识别代码中的潜在问题,提升代码质量。

a) 代码导入云效

登录云效控制台,根据页面指引完成企业的创建,并选择合适的角色。点击开始工作按钮,即可进入云效控制台界面。单击代码管理,进入代码库并单击导入代码库。选中URL导入,在源代码仓库地址填入链接。点击右上角的克隆/下载,复制仓库地址,在本地使用Git clone 命令克隆仓库。

说明:首次克隆前请先配置 SSH 公钥,参见配置 SSH 密钥。】

b) 代码检测云效

点击当前代码仓库左侧导航栏中的流水线,并创建流水线。在弹出面板中选择Java及可视化编排,找到Java 测试、构建流水线模板,单击创建,进入流水线配置界面。进入流水线后,在左侧选择添加流水线源。

a. 单击添加流水线源。

b. 选择流水线源为代码源,选择Codeup。

c. 代码仓库选择“lingma-demo”,默认分支选择“main”。

单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。流水线运行结果如图所示,可以发现当前项目可以顺利完成构建,但是代码存在某些缺陷或漏洞,并且项目缺失单元测试用例。点击Java 代码扫描的扫描报告,点击弹窗右下角的继续打开,报告中可以看到当前代码存在的具体问题。

(2) 智能编码

为进一步提升开发效率和代码质量,可以利用通义灵码对现有代码进行深入解析,并在此基础上生成新的代码片段和注释。特别是针对“计算日期间隔”这一尚未完成的功能,通义灵码将帮助我们快速实现后端处理逻辑。此外,通义灵码还可以自动生成单元测试用例,确保代码的正确性和可靠性。

a) Visual Studio Code 中安装通义灵码

请按照以下步骤完成通义灵码的安装。

本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装通义灵码。

准备工作:

操作系统:Windows 7 及以上、macOS、Linux;下载并安装Visual Studio Code1.68.0 及以上版本。

方法 1:从插件市场安装

说明:单击立即安装,唤起 Visual Studio Code 插件市场直接安装,安装后请重启 IDE,即可开启智能编码之旅。】

打开 Visual Studio Code 扩展窗口,搜索 TONGYI Lingma,找到通义灵码后单击安装。安装完成后,请重启 Visual Studio Code。

方法 2:下载安装包安装

单击下方链接,下载 Visual Studio Code 的 VSIX 安装包;⇩ TONGYI Lingma-VS Code下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击从 VSIX 安装,选择下载的 VSIX 文件后安装;安装完成后,请重启 Visual Studio Code。

登录并开启智能编码之旅:

重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。单击登录后,将前往登录页面,完成登录后可进入 IDE 客户端开始使用。

b) 解释代码

在src/main/java/com/aliyun/solution/demo/lingma/controller目录中找到实现最大公约数遍历算法的代码位于 IndexController.java 中的 common_elements 函数。当前的算法较为复杂,我们可以利用通义灵码来解释和帮助理解这一算法的实现过程。选中common_elements函数的代码,右击选择通义灵码 > 解释代码。可以看到在对话框中,通义灵码给出了详细的代码解释,并提供了控制流图。

c) 生成代码注释

在common_elements函数定义的开头,并点击通义灵码的图标。在下拉选项中选择生成注释,在对话框中会生成这个函数对应的注释。在对话框中点击复制按钮,复制注释后的代码,粘贴覆盖原代码

d) 修复缺陷

参考之前代码扫描报告中的问题,把问题复制到对话框中,并且选中存在问题的这部分代码,由通义灵码给出修复建议。复制修复后的代码覆盖原代码。参考上述步骤,逐一修复代码扫描中的问题

e) 自然语言生成代码

在src/main/resources/templates/date.html中,找到并复制“计算日期间隔”的题目描述。在 IndexController.java中,选中dateInterval函数,将题目描述拷贝到问答助手对话框,按回车键确认。将生成的代码复制到原文中,注意不要漏掉需要引入的依赖。保存修改后的IndexController.java文件。

f) 生成单元测试

在common_elements函数(图中函数名优化为findCommonElements)定义的开头,点击通义灵码的小图标。在下拉选项中选择单元测试,在对话框中会生成这个函数对应的单元测试。src/test/java/com/aliyun/solution/demo/lingma/controller目录中找到IndexControllerTest.java,将生成的单元测试代码拷贝到文件中。修改完毕后,保存IndexControllerTest文件,并在命令行中使用Git命令将代码提交到云效代码仓库。

(3) 编码验证

a) 配置流水线测试代码,验证缺陷修复

进入流水线Flow,可以发现当我们提交代码到仓库后,之前创建的流水线触发自动运行。点击流水线名称,进入详情页。流水线运行完毕后,可以看到当前的Java 代码扫描漏洞数量为0。

b) 查看单元测试报告,验证生成的单元测试代码准确无误

可以看到当前单元测试通过率为100%,所有的测试用例均成功执行。可以点击测试报告,进一步查看测试用例的具体执行情况。

(4) 部署应用

项目虽然完成了构建,但没有进行部署,我们可以配置以下的云资源并部署应用。

a) 函数计算配置运行环境

开通函数计算。点击模板链接,打开我们提供的函数计算应用模板,选择直接部署,其余配置项可以不做修改,点击创建并部署默认环境。

b) 配置流水线部署应用

进入流水线Flow,单击目标流水线,进入详情页。点击右上角编辑按钮。点击Java构建上传,在弹窗中找到构建物上传,修改打包路径为“.”。修改完毕后点右上角关闭编辑页面。流水线流程配置:

a. 单击新的任务。点击部署,选择部署到函数计算FC。

b. 在弹出的编辑页面找到任务步骤 ,点击执行命令。

c. 点击环境变量的添加按钮 ,选择上游任务 制品/镜像 下载地址。

d. 环境变量名称设置为code,将其值指定为上游构建阶段生成的产物,如制品名称.Artifacts_xxx。

e. 配置阿里函数计算部署。

单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。如图所示,可以看到流水线已经运行成功,实现部署到函数计算FC。

c) 访问测试域名

打开函数计算应用列表,找到之前创建的应用,点击应用名称进入应用详情。在环境信息中找到访问域名,点击域名。

说明:该域名是 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,不可用于任何生产使用,域名会在30天后由社区回收。】

(5) 部署验证

a) 验证通义灵码生成代码的有效性

在浏览器中访问测试域名,看到如图所示的页面表示服务已经正常启动。在当前页面按照提示输入数字并提交后,查看结果,结合之前通义灵码提供的代码解释,可以更好地理解这道算法题的实现过程。点击导航栏中的“计算日期间隔”,在输入框中选择两个日期并点击提交。可以看到正确计算出了两个日期的间隔时间,说明使用通义灵码生成的代码正确有效。

(6) 清理资源

手动删除函数计算应用:登录函数计算控制台,在左侧导航栏,单击应用。找到目标应用,单击右侧操作列的删除应用。删除云效的流水线:进入云效流水线,点击流水线右侧->删除。删除代码仓库。进入云效代码管理,点击目标代码仓库名称进入仓库详情页。点击左下角的设置->基本设置-> 删除代码库。

来源:阿里技术

相关推荐