将 Amazon Q 开发者版用作编码助手来提高工作效率 - AWS 规范指引

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Amazon Q 开发者版用作编码助手来提高工作效率

Ram Kandaswamy,Amazon Web Services

Summary

此模式使用 tic-tac-toe游戏来演示如何将 Amazon Q Developer 应用于一系列开发任务。它以单页应用程序 (SPA) 的形式为 tic-tac-toe游戏生成代码,增强其用户界面,并创建用于部署应用程序的脚本。 AWS

Amazon Q 开发者版充当一个编码助手,可帮助加速软件开发工作流,并提高开发人员和非开发人员的工作效率。无论您掌握了多少技术专业知识,它都可以帮助您创建架构、设计业务问题解决方案、引导您的工作环境、帮助您实现新功能,以及生成用于验证的测试案例。它使用自然语言指令和人工智能功能来确保代码的一致性和高质量,并缓解编码挑战,无论您的编程技能如何。

Amazon Q 开发者版的主要优势在于,它能够将您从重复的编码任务中解放出来。当您使用 @workspace 注释时,Amazon Q 开发者版会摄取集成式开发环境(IDE)中的所有代码文件、配置和项目结构并为它们编制索引,并提供量身定制的响应,以便帮助您专注于创造性地解决问题。您可以将更多的时间投入到设计创新的解决方案和增强用户体验上。如果并非技术人员,您可以使用 Amazon Q 开发者版来简化工作流,并且更有效地与开发团队进行协作。Amazon Q 开发者版的解释代码功能提供了详细的说明和摘要,让您能够浏览复杂的代码库。

此外,Amazon Q 开发者版还提供了一种与语言无关的方法,可帮助初级和中级开发人员扩展他们的技能。这样,您就可以专注于核心概念和业务逻辑,而不是特定于语言的语法。当您切换技术时,这样可以缩短您的学习曲线。

先决条件和限制

先决条件

  • 安装了 Amazon Q Developer 插件的 IDE(例如, WebStorm 或 Visual Studio Code)。有关说明,请参阅 Amazon Q 开发者版文档中的在 IDE 中安装 Amazon Q 开发者版扩展程序或插件

  • Amazon Q Developer 的有效 AWS 账户 设置。有关说明,请参阅 Amazon Q 开发者版文档中的入门

  • 已安装 npm。有关说明,请参阅 npm 文档。此模式已在 npm 版本 10.8 中接受了测试。

  • AWS Command Line Interface (AWS CLI) 已安装。有关说明,请参阅 AWS CLI 文档

限制

  • Amazon Q 开发者版一次只能执行一项开发任务。

  • 有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅按区域划分的AWS 服务。有关特定端点,请参阅服务端点和配额页面,然后选择相应服务的链接。

工具

最佳实践

请参阅《 AWS 规范性指南》中的 Amazon Q 开发人员的最佳编码实践。此外:

  • 当您向 Amazon Q 开发者版提供提示时,请确保您的说明清晰、明确。在提示中添加代码片段和注释,例如 @workspace,以便为提示提供更多上下文。

  • 包括并导入相关的库,以便避免系统遇到冲突或错误猜测。

  • 如果生成的代码不准确或者不符合预期,请使用提供反馈并重新生成选项。尝试将提示分解成更小的说明。

操作说明

Task说明所需技能

创建一个新项目。

要在工作环境中创建一个新项目,请运行如下命令,并为所有的问题接受默认设置:

npx create-next-app@latest
应用程序开发人员、编程人员、软件开发人员

测试基本应用程序。

运行如下命令,并确认已成功将基本应用程序加载到浏览器中:

npm run dev
应用程序开发人员、编程人员、软件开发人员

清理基本代码。

导航到 src/app 文件夹中的 page.tsx 文件,并删除默认内容,以便获得一个空白页面。删除之后,此文件应如下所示:

export default function Home() { return (<div></div> ); }
应用程序开发人员、编程人员、软件开发人员
Task说明所需技能

获取有关具体步骤的概述。

  1. 在 IDE 中,打开您的项目,然后选择 Amazon Q 图标,以便打开聊天面板。

  2. 在 Amazon Q 开发者版聊天面板中,请求提供有关如何创建单页应用程序(SPA)的概述。例如:

    I would like to create a single-page application involving Next.js React framework for tic-tac-toe game. What are the steps?
应用程序开发人员、编程人员、软件开发人员

为生成代码 tic-tac-toe。

在聊天面板中,使用 /dev 命令和任务说明,启动一项开发任务。例如:

/dev Create a React-based single-page application written in TypeScript for a tic-tac-toe game with the following specifications: 1. Design an aesthetically pleasing interface with the game grid centered vertically and horizontally on the page. 2. Include a heading and clear instructions on how to play the game. 3. Implement color-coding for X and O marks to distinguish them easily.

Amazon Q 开发者版会根据您的说明来生成代码。

应用程序开发人员、编程人员、软件开发人员

检查并接受所生成的代码。

目视检查代码,然后选择接受代码以便自动替换 page.tsx 文件。

如果您遇到问题,请选择提供反馈并重新生成,然后说明您遇到的问题。

应用程序开发人员、编程人员、软件开发人员

修复 lint 错误。

示例 tic-tac-toe游戏包括一个网格。Amazon Q 开发者版生成的代码可能使用了默认类型 any。您可以按如下方式提示 Amazon Q 开发者版,以便添加类型安全:

/dev Ensure proper TypeScript typing for the onSquare Click event handler to resolve any 'any' type issues.
应用程序开发人员、编程人员、软件开发人员

提高视觉吸引力。

您可以将原始要求分解成更小的片段。例如,在开发任务中,您可以使用以下提示来改善游戏界面。这些提示可增强层叠样式表(CSS)样式,并导出应用程序以便进行部署。

/dev Debug and fix any CSS issues to correctly display the game grid and overall layout. Simplify the code by removing game history functionality and related components. Implement static file export to an 'out' directory for easy deployment. The solution should be fully functional, visually appealing, and free of typing errors or layout issues.
应用程序开发人员、编程人员、软件开发人员

再次进行测试。

  1. 现在,您已完成开发生命周期,请对代码进行测试,以便确认它能够正常运行。要在本地运行此应用程序,请使用如下命令:

    npm run dev
  2. 如果此应用程序正常运行,请使用 build 命令将整个应用程序导出到输出文件夹,以便为部署做好准备:

    npm run build
应用程序开发人员、编程人员、软件开发人员
Task说明所需技能

创建用于部署的文件夹和文件。

在工作环境中的项目中,创建一个部署文件夹,并在其中创建两个文件:pushtos3.shcloudformation.yml

mkdir deployment && cd deployment touch pushtos3.sh && chmod +x pushtos3.sh touch cloudformation.yml
应用程序开发人员、编程人员、软件开发人员

生成自动化代码。

  1. 在 Amazon Q 开发者版的聊天面板中,提供如下提示:

    /dev Generate a Cloudformation template that creates two resources: tictactoe artifact bucket and CloudFront. CloudFront should be configured with this bucket as origin. Add cache policy appropriate for Amazon S3 and default root object as index.html. Ensure that origin access control is used and no public bucket is created. Output all the resources and their ARNs.
  2. 查看并接受所生成的代码。现在,您之前创建cloudformation.yml的文件应该填充为创建资源的 CloudFormation 脚本 AWS 云。

AWS 管理员、AWS DevOps、应用程序开发者

生成脚本内容。

要创建部署脚本,请使用如下提示:

/dev Modify the pushtos3 shell script so that it can use AWS CLI commands to create a CloudFormation stack named tictactoe-stack if it does not exist already, and use cloudformation.yml as the source template. Wait for the stack to complete and sync the contents from the out folder to the S3 bucket. Perform invalidation of the CloudFront origin.
应用程序开发人员、编程人员、软件开发人员

将此应用程序部署到 AWS 云。

  1. 使用有效 AWS 凭据配置工作环境。

  2. 运行 shell 脚本将功能齐全的 tic-tac-toe游戏部署到 AWS 云。

AWS 管理员、AWS DevOps、云架构师、应用程序开发人员

问题排查

问题解决方案

此内部版本不会创建单页应用程序,也不会将其导出到输出文件夹。

查看 next.config.mjs 文件的内容。

如果代码具有如下默认配置:

const nextConfig = {};

按如下所示对其进行修改:

const nextConfig = { output: 'export', distDir: 'out', };

相关资源