专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
白鲸出海  ·  GTC2024(Shanghai)圆满落幕, ... ·  昨天  
百老汇  ·  Say hi 来咯 ·  6 天前  
百老汇  ·  Say hi 来咯 ·  1 周前  
阿里开发者  ·  为什么大模型连"Strawberry"的"r ... ·  1 周前  
51好读  ›  专栏  ›  阿里开发者

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

阿里开发者  · 公众号  · 科技公司  · 2024-11-27 08:30

正文

企业级智能编码方案,完成工作更高效!完成在线部署并上传部署验证截图两个任务,可获得新年好运日历1个,每个工作日限量30个,数量有限,先到先得。(文末点击阅读原文参与活动)。

一、引言

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

适用客户:

  • 需要提高代码编写效率并保持高质量输出的软件开发团队。
  • 寻求通过智能化工具简化开发流程并加快产品迭代速度的技术团队。

本次活动旨在帮助用户通过实际操作,使用企业级智能编码方案,完成工作更高效,使通义灵码与云效协同提升效能,并有机会赢取丰厚奖品。

二、方案概览

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

三、在线部署

如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。


1. 代码管理与自动检测

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

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

1.1 代码导入云效

1. 登录云效控制台,根据页面指引完成企业的创建,并选择合适的角色。点击开始工作按钮,即可进入云效控制台界面。

2. 单击代码管理,进入代码库。

3. 单击导入代码库。

  • 在导入代码库弹出框,选中URL导入,在源代码仓库地址填入

    https://atomgit.com/aliyun_solution/lingma-demo.git,单击确定。

4. 点击右上角的克隆/下载,复制仓库地址,在本地使用git clone 命令克隆仓库。

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

5. 开通对象存储服务。打开OSS开通页面,按照界面指引完成开通操作。

1.2 代码检测云效

1. 点击当前代码仓库左侧导航栏中的流水线。

2. 进入流水线页面后,点击创建流水线。

【说明:从代码仓库进入创建流水线可以自动开启代码源触发。】

3. 在弹出面板中选择Java,顶部选择可视化编排,找到Java 测试、构建流水线模板,单击创建,进入流水线配置界面。

4. 进入流水线后,在左侧选择添加流水线源。

单击添加流水线源。

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

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

5. 单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。

6. 流水线运行结果如图所示,可以发现当前项目可以顺利完成构建,但是代码存在某些缺陷或漏洞,并且项目缺失单元测试用例。

7. 点击Java 代码扫描的扫描报告,点击弹窗右下角的继续打开,报告中可以看到当前代码存在的具体问题。


2.智能编码

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

2.1 Visual Studio Code 中安装通义灵码

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

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

准备工作:

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

方法 1:从插件市场安装

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

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

方法 2:下载安装包安装

1. 单击下方链接,下载 Visual Studio Code 的 VSIX 安装包;⇩ TONGYI Lingma-VS Code

2. 下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击从 VSIX 安装,选择下载的 VSIX 文件后安装;

3. 安装完成后,请重启 Visual Studio Code。

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

1. 重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。

Tips:如果安装后在侧边导航上找不到通义灵码入口,可鼠标聚焦在侧边导航后右键查看,勾选通义灵码后即可将插件入口配置在侧边导航上。

2. 单击登录后,将前往登录页面,完成登录后可进入 IDE 客户端开始使用。

2.2 解释代码

1. src/main/java/com/aliyun/solution/demo/lingma/controller

目录中找到实现最大公约数遍历算法的代码位于 IndexController.java 中的 common_elements 函数。当前的算法较为复杂,我们可以利用通义灵码来解释和帮助理解这一算法的实现过程。

2. 选中common_elements函数的代码,右击选择通义灵码 > 解释代码。

3. 可以看到在对话框中,通义灵码给出了详细的代码解释,并提供了控制流图。

2.3 生成代码注释

1. 在common_elements函数定义的开头,点击通义灵码的小图标。

2. 在下拉选项中选择生成注释,在对话框中会生成这个函数对应的注释。

3. 在对话框中点击复制按钮,复制注释后的代码,粘贴覆盖原代码

2.4 修复缺陷

1. 参考之前代码扫描报告中的问题,把问题复制到对话框中,并且选中存在问题的这部分代码,由通义灵码给出修复建议。

2. 复制修复后的代码覆盖原代码。

3. 参考上述步骤,逐一修复代码扫描中的问题

2.5 自然语言生成代码

1. 在src/main/resources/templates/date.html中,找到并复制“计算日期间隔”的题目描述。

2. 在 IndexController.java中,选中dateInterval函数,将题目描述拷贝到问答助手对话框,按回车键确认。

3. 将生成的代码复制到原文中,注意不要漏掉需要引入的依赖。

4. 保存修改后的IndexController.java文件。

2.6 生成单元测试

1. 在common_elements函数(图中函数名优化为findCommonElements)定义的开头,点击通义灵码的小图标。

2. 在下拉选项中选择单元测试,在对话框中会生成这个函数对应的单元测试。

3. src/test/java/com/aliyun/solution/demo/lingma/controller

目录中找到IndexControllerTest.java,将生成的单元测试代码拷贝到文件中。

4. 修改完毕后,保存IndexControllerTest文件,并在命令行中使用Git命令将代码提交到云效代码仓库。

git add .git commit -m "通义灵码优化"git push


3.编码验证

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

1. 进入流水线Flow,可以发现当我们提交代码到仓库后,之前创建的流水线触发自动运行。

2. 点击流水线名称,进入详情页。

3. 流水线运行完毕后,可以看到当前的Java 代码扫描漏洞数量为0。

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

1. 可以看到当前单元测试通过率为100%,所有的测试用例均成功执行。

2. 可以点击测试报告,进一步查看测试用例的具体执行情况。


4.部署应用

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

4.1 函数计算配置运行环境

1. 开通函数计算:根据页面提示单击领取试用套餐并开通,然后单击立即购买即可自动开通服务。

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

4.2 配置流水线部署应用

1. 进入流水线Flow,单击目标流水线,进入详情页。

2. 点击右上角编辑按钮。

3. 点击Java构建上传,在弹窗中找到构建物上传,修改打包路径为“.”。修改完毕后点右上角关闭编辑页面。

4. 流水线流程配置:

  • 单击新的任务。

  • 点击部署,选择部署到函数计算FC。

  • 点击部署到函数计算FC。

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

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

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

  • 配置阿里函数计算部署。

  1. 单击添加服务连接。在新建服务连接面板单击创建,完成RAM授权后,创建服务连接。

  1. 地域选择华东1(杭州),服务名选择“lingma-service”,函数名选择“lingma-demo”,源码类型选择本地代码,代码路径输入“.”。

5. 单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。

6. 如图所示,可以看到流水线已经运行成功,实现部署到函数计算FC。

4.3 访问测试域名

1. 打开函数计算应用列表,找到之前创建的应用,点击应用名称进入应用详情。

2. 在环境信息中找到访问域名,点击域名。

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


5.部署验证

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

1. 在浏览器中访问测试域名,看到如图所示的页面表示服务已经正常启动。

2. 在当前页面按照提示输入数字并提交后,查看结果,结合之前通义灵码提供的代码解释,可以更好地理解这道算法题的实现过程。

3. 点击导航栏中的“计算日期间隔”,在输入框中选择两个日期并点击提交。

4. 可以看到正确计算出了两个日期的间隔时间,说明使用通义灵码生成的代码正确有效。


6. 清理资源

1. 手动删除函数计算应用:登录函数计算控制台,在左侧导航栏,单击应用。找到目标应用,单击右侧操作列的删除应用。

2. 删除云效的流水线:进入云效流水线,点击流水线右侧->删除。

3. 删除代码仓库。

进入云效代码管理,点击目标代码仓库名称进入仓库详情页。

点击左下角的设置->基本设置-> 删除代码库。

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

想必你通过阅读,已经学会如何部署了。现在邀请你来到阿里云开发者社区参加“AI编码,十倍提速,通义灵码引领研发新范式”活动,跟随教程完成任务一和任务二即可领取新年好运日历,每个工作日限量30个,上午10点更新奖品,领完即止。完成任务后需点击“领取奖品”按钮,前往社区“积分商城”中的“活动礼品兑换专区”,使用账户中的1积分进行兑换,有效期为15天。


点击阅读原文,体验十倍提速的AI编码~