Uso do Amazon Q Developer como um assistente de codificação para aumentar a produtividade - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Uso do Amazon Q Developer como um assistente de codificação para aumentar a produtividade

Ram Kandaswamy, Amazon Web Services

Resumo

Esse padrão usa um tic-tac-toe jogo para demonstrar como você pode aplicar o Amazon Q Developer em uma variedade de tarefas de desenvolvimento. Ele gera código para um tic-tac-toe jogo como um aplicativo de página única (SPA), aprimora sua interface de usuário e cria scripts para implantar o aplicativo. AWS

O Amazon Q Developer funciona como um assistente de codificação para impulsionar os fluxos de trabalho de desenvolvimento de software e aumentar a produtividade tanto de desenvolvedores quanto de usuários sem experiência em programação. Independentemente do seu conhecimento técnico, a solução auxilia na criação de arquiteturas e na elaboração de soluções para problemas empresariais, configura seu ambiente de trabalho, ajuda na implementação de novos recursos e gera casos de testes para validação. A solução usa instruções em linguagem natural e funcionalidades de IA para garantir código consistente e de alta qualidade, além de mitigar desafios relacionados à codificação, independentemente das suas habilidades de programação.

A principal vantagem do Amazon Q Developer está na capacidade de poupar você de tarefas de codificação repetitivas. Quando você usa a anotação @workspace, o Amazon Q Developer ingere e indexa todos os arquivos de codificação, as configurações e a estrutura do projeto no seu ambiente de desenvolvimento integrado (IDE), fornecendo respostas personalizadas para apoiar sua criatividade na resolução de problemas. Você pode dedicar mais tempo a projetar soluções inovadoras e aprimorar a experiência do usuário. Caso não tenha experiência técnica, você pode recorrer ao Amazon Q Developer para otimizar fluxos de trabalho e trabalhar melhor com a equipe de desenvolvimento. O recurso Explicar códigos do Amazon Q Developer disponibiliza instruções detalhadas e resumos, permitindo que você navegue por bases de codificação complexas.

Além disso, o Amazon Q Developer oferece uma abordagem que não depende da linguagem para ajudar desenvolvedores iniciantes e intermediários a desenvolver novas habilidades. Você pode se concentrar nos conceitos principais e na lógica de negócio, em vez de lidar com a sintaxe própria de cada linguagem. Isso reduz a curva de aprendizado ao migrar entre tecnologias.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • O Amazon Q Developer consegue executar apenas uma tarefa de desenvolvimento por vez.

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte Serviços da AWS by Region. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.

Ferramentas

Práticas recomendadas

Consulte as melhores práticas de codificação com o Amazon Q Developer na orientação AWS prescritiva. Além disso:

  • Ao fornecer prompts ao Amazon Q Developer, certifique-se de que suas instruções sejam claras e inequívocas. Inclua trechos do código e anotações como @workspace no prompt para fornecer mais contexto aos prompts.

  • Inclua as bibliotecas relevantes e importe-as para evitar conflitos ou interpretações incorretas por parte do sistema.

  • Caso o código gerado não seja preciso ou não corresponda ao esperado, use a opção Fornecer feedback e gerar novamente. Tente dividir os prompts em instruções menores.

Épicos

TarefaDescriptionHabilidades necessárias

Criar um novo projeto da .

Para criar um novo projeto em seu ambiente de trabalho, execute o comando apresentado a seguir e aceite as configurações padrão para todas as perguntas:

npx create-next-app@latest
Desenvolvedor de aplicações, programador e desenvolvedor de software

Teste a aplicação base.

Execute o comando apresentado a seguir e confirme que a aplicação base foi carregada com êxito no navegador:

npm run dev
Desenvolvedor de aplicações, programador e desenvolvedor de software

Limpe o código base.

Acesse o arquivo page.tsx, localizado na pasta src/app, e remova o conteúdo padrão para obter uma página em branco. Após a exclusão, o arquivo deve ter a seguinte aparência:

export default function Home() { return (<div></div> ); }
Desenvolvedor de aplicações, programador e desenvolvedor de software
TarefaDescriptionHabilidades necessárias

Obtenha uma visão geral das etapas.

  1. No seu IDE, acesse o projeto e clique no ícone do Amazon Q para abrir o painel de chat.

  2. No painel de chat do Amazon Q Developer, solicite uma visão geral sobre como criar uma aplicação de página única (SPA). Por exemplo:

    I would like to create a single-page application involving Next.js React framework for tic-tac-toe game. What are the steps?
Desenvolvedor de aplicações, programador e desenvolvedor de software

Gere código para tic-tac-toe.

No painel de chat, inicie uma tarefa de desenvolvimento usando o comando /dev seguido da descrição da tarefa. Por exemplo:

/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.

O Amazon Q Developer gera código com base nas suas instruções.

Desenvolvedor de aplicações, programador e desenvolvedor de software

Inspecione e aceite o código gerado.

Inspecione visualmente o código e clique em Aceitar código para substituir automaticamente o arquivo page.tsx.

Se houver algum problema, escolha Fornecer feedback e gerar novamente e descreva o que aconteceu.

Desenvolvedor de aplicações, programador e desenvolvedor de software

Corrija os erros de análise de código.

O tic-tac-toe jogo de exemplo inclui uma grade. O código gerado pelo Amazon Q Developer pode usar o tipo padrão any. É possível reforçar a segurança de tipos ao instruir o Amazon Q Developer desta maneira:

/dev Ensure proper TypeScript typing for the onSquare Click event handler to resolve any 'any' type issues.
Desenvolvedor de aplicações, programador e desenvolvedor de software

Adicione atratividade visual.

Você pode dividir o requisito original em fragmentos menores. Por exemplo, é possível otimizar a interface do usuário do jogo com os prompts apresentados a seguir para as tarefas de desenvolvimento. Este prompt aprimora os estilos em Cascading Style Sheets (CSS) e exporta a aplicação para implantação.

/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.
Desenvolvedor de aplicações, programador e desenvolvedor de software

Teste novamente.

  1. Agora que você concluiu o ciclo de vida de desenvolvimento, teste o código para confirmar que ele funciona conforme o esperado. Para executar a aplicação localmente, use o comando:

    npm run dev
  2. Se a aplicação funcionar conforme o esperado, use o comando build para exportar toda a aplicação para a pasta de saída, preparando-a para implantação:

    npm run build
Desenvolvedor de aplicações, programador e desenvolvedor de software
TarefaDescriptionHabilidades necessárias

Crie as pastas e os arquivos necessários para a implantação.

No projeto, em seu ambiente de trabalho, crie uma pasta de implantação e, dentro dela, dois arquivos: pushtos3.sh e cloudformation.yml:

mkdir deployment && cd deployment touch pushtos3.sh && chmod +x pushtos3.sh touch cloudformation.yml
Desenvolvedor de aplicações, programador e desenvolvedor de software

Gere o código de automação.

  1. No painel de chat do Amazon Q Developer, forneça o seguinte prompt:

    /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. Analise e aceite o código gerado. O cloudformation.yml arquivo que você criou anteriormente agora deve ser preenchido com um CloudFormation script que cria os recursos para o. Nuvem AWS

Administrador da AWS, AWS DevOps, desenvolvedor de aplicativos

Gere o conteúdo para o script.

Para criar um script de implantação, use o seguinte prompt:

/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.
Desenvolvedor de aplicações, programador e desenvolvedor de software

Implante a aplicação na Nuvem AWS.

  1. Configure o ambiente de trabalho com AWS credenciais válidas.

  2. Execute o script do shell para implantar o tic-tac-toe jogo totalmente funcional no Nuvem AWS.

Administrador da AWS, AWS DevOps, arquiteto de nuvem, desenvolvedor de aplicativos

Solução de problemas

ProblemaSolução

A compilação não cria uma aplicação de página única nem a exporta para a pasta de saída.

Verifique o conteúdo do arquivo next.config.mjs.

Se o código estiver com a seguinte configuração padrão:

const nextConfig = {};

modifique-o da seguinte maneira:

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

Recursos relacionados