O blog da AWS
Otimize o desenvolvimento de software com o Amazon CodeWhisperer
Começando
Começar a usar o CodeWhisperer é simples e está documentado aqui. Após a configuração, o CodeWhisperer se integra ao IDE e fornece sugestões de código com base nos comentários escritos no IDE. Use a tecla TAB para aceitar uma sugestão, ESC para rejeitar a sugestão ALT+C (Windows) /option + C (MAC) para forçar uma sugestão e as teclas de seta esquerda e direita para alternar entre sugestões.
Atualmente o CodeWhisperer suporta a geração de código para 15 linguagens de programação. O CodeWhisperer pode ser usado em vários IDEs, como Amazon Sagemaker Studio, Visual Studio Code, AWS Cloud9, AWS Lambda e muitos IDEs da JetBrains. Consulte a documentação do Amazon CodeWhisperer para obter as atualizações mais recentes sobre linguagens e IDEs compatíveis.
Sugestões de código contextual
O CodeWhisperer examina continuamente o código e os comentários em busca de sugestões contextuais de código. Ele gerará trechos de código usando essas informações contextuais e a localização do cursor. Abaixo está ilustrado um exemplo de uma sugestão de código baseado em comentários embutidos no Visual Studio Code que demonstra como o CodeWhisperer pode fornecer sugestões de código específicas ao contexto sem exigir que o usuário substitua manualmente variáveis ou parâmetros. No comentário, o arquivo e o bucket do Amazon Simple Storage Service (Amazon S3) são especificados, e o CodeWhisperer usa esse contexto para sugerir código relevante.
O CodeWhisperer também suporta e recomenda a escrita de código declarativo e código procedural, como scripts de shell e linguagens de consulta (query). O exemplo a seguir mostra como o CodeWhisperer recomenda que os blocos de código em um script de shell percorram uma lista de servidores para executar o comando hostname e salvar sua resposta em um arquivo de saída.
No exemplo a seguir, com base no comentário, o CodeWhisperer sugere um código SQL (Structured Query Language) para usar expressões de tabela comuns.
O CodeWhisperer trabalha com os populares Ambientes de Desenvolvimento Integrado (IDEs). Para obter mais informações sobre os IDEs suportados, consulte a documentação do CodeWhisperer. Abaixo está ilustrado o CodeWhisperer integrado ao console AWS Lambda.
O Amazon CodeWhisperer é um assistente de codificação de IA versátil que pode ajudar em uma variedade de tarefas, incluindo tarefas relacionadas à AWS e integrações de API, bem como integrações de API externas (fora da AWS). Por exemplo, como ilustrado abaixo, o CodeWhisperer está sugerindo código para as APIs do Twilio.
Agora que vimos como o CodeWhisperer pode ajudar a escrever código com mais rapidez, a próxima seção explora como usar a IA com responsabilidade.
Use a IA com responsabilidade
Os desenvolvedores geralmente utilizam o código-fonte aberto, mas enfrentam desafios de atribuição de licenças, como atribuir os autores originais ou manter o texto da licença. O desafio está em identificar e atribuir adequadamente os componentes relevantes de código aberto usados em um projeto. Com a abundância de bibliotecas e estruturas de código aberto disponíveis, pode ser demorado e complexo rastrear e atribuir cada parte do código com precisão. O não cumprimento dos requisitos de atribuição de licenças pode resultar em problemas legais, violação dos direitos de propriedade intelectual e danos à reputação do desenvolvedor. O rastreamento de referência do CodeWhisperer monitora continuamente o código sugerido em busca de semelhanças com o código-fonte aberto conhecido, permitindo que os desenvolvedores tomem decisões informadas sobre incorporá-lo ao projeto e garantir a atribuição adequada.
Segurança de aplicação pró ativa
O CodeWhisperer pode escanear o código em busca de vulnerabilidades difíceis de encontrar, como aquelas que estão entre os dez principais Open Web Application Security Project (OWASP), ou aquelas que não atendem às melhores práticas da biblioteca de criptografia, às melhores práticas de segurança interna da AWS, e outras. No momento em que este artigo foi escrito, o CodeWhisperer oferece suporte à verificação de segurança nas linguagens Python, Java e JavaScript. Abaixo está uma ilustração da identificação dos CWEs (Common Weakness Enumeration) mais conhecidos, juntamente com a capacidade de analisar profundamente a linha de código com problema através de um clique.
No exemplo a seguir, o CodeWhisperer fornece uma análise arquivo por arquivo dos CWEs e destaca os 10 principais CWEs do OWASP, como “Unsensitized input is run as code”, “Cross-site scripting”, “Resource leak”, “Hardcoded credentials”, “SQL injection”, “OS command injection” and “Insecure hashing”.
Gerando os casos de teste
Um bom desenvolvedor sempre escreve testes. O CodeWhisperer pode ajudar a sugerir casos de teste e verificar a funcionalidade do código. O CodeWhisperer considera valores limite (boundary values), edge cases e outros problemas potenciais que talvez precisem ser testados. No exemplo abaixo, um comentário referente ao uso da função fact_demo () leva o CodeWhisperer a sugerir um teste de unidade para fact_demo () enquanto aproveita os detalhes contextuais.
Além disso, o CodeWhisperer pode simplificar a criação de código repetitivo para testes unitários. Por exemplo, se você precisar criar dados de amostra usando instruções INSERT, o CodeWhisperer poderá gerar as inserções necessárias com base em um padrão.
CodeWhisperer com Amazon SageMaker Studio e Jupyter Lab
O CodeWhisperer funciona com o SageMaker Studio e o Jupyter Lab, fornecendo suporte ao preenchimento de código para Python em células de código. Para utilizar o CodeWhisperer, siga as instruções de configuração para ativá-lo no Amazon SageMaker Studio e no Jupyter Lab. Para começar a codificar, consulte Ações do usuário. A ilustração a seguir mostra as recomendações de código do CodeWhisperer no SageMaker Studio. Ele demonstra o código sugerido com base em comentários para carregar e analisar um conjunto de dados.
Conclusão
Este blog destacou as várias maneiras que os desenvolvedores podem aproveitar o CodeWhisperer para aumentar a produtividade, otimizar os fluxos de trabalho e garantir o desenvolvimento de código seguro. Ao adotar os recursos de IA do Code Whisperer, os desenvolvedores podem experimentar maior produtividade, aprendizado acelerado e economia significativa de tempo.
Para aproveitar as vantagens do CodeWhisperer e otimizar seu processo de codificação, aqui estão as próximas etapas:
- Visite a página de recursos para saber mais sobre os benefícios do CodeWhisperer.
- Inscreva-se e comece a usar o CodeWhisperer.
- Leia sobre as histórias de sucesso do CodeWhisperer
Este artigo foi traduzido do Blog da AWS em Inglês.