25/08/2023 ~ 4 min de leitura

Desenvolvedores e IA


A menos que você tenha vivido em uma caverna no último ano, viu a chegada da IA ao nosso dia a dia. Hoje uso o ChatGPT para coisas comuns, desde pedir receitas, corrigir textos, até adicionar acentos quando escrevo em português usando meu teclado US internacional. E, claro, os desenvolvedores se beneficiariam muito com isso. Mas como?

IA e o desenvolvedor

Acho que o Github escolheu uma palavra perfeita para sua ferramenta de IA: Copilot. Ele não substitui um desenvolvedor, é um copiloto. Está ali para ajudar, facilitar sua vida e torná-lo mais produtivo. E é isso que a IA deveria ser para desenvolvedores: uma ferramenta para nos ajudar, não para nos substituir.

Uso o Github Copilot há dois anos e, sem dúvida, me tornei mais produtivo. Posso escrever código mais rápido e me concentrar nas coisas importantes. Não preciso me preocupar com a sintaxe, o nome de uma função ou até o nome de uma variável. Posso me concentrar na lógica, na arquitetura e no design, e não nas coisas chatas. E cara, como tem coisa chata em programação!

Vejamos um exemplo:

interface User {
  id: number;
  name: string;
  email: string;
}

let users: User[] = [];

// four functions to make CRUD operations on the users array

Este é um exemplo simples de uma operação CRUD. Tenho um array de usuários e quero criar, ler, atualizar e excluir usuários desse array. Eu poderia escrever todas as funções à mão, mas não quero. Então, vou usar o GitHub Copilot para me ajudar. Todos sabemos o que um CRUD faz; só não queremos escrevê-lo porque somos preguiçosos. Então, vejamos o que o Copilot pode fazer por nós:

Você vê imediatamente que o Copilot já sabe o que fazer. Ele sabe que quero criar uma operação CRUD e até que quero criá-la para usuários. Não é perfeito, mas é um bom começo.

Nesse cenário, o Copilot sugere cada linha separadamente, então você pode completá-las automaticamente. Se quiser uma sugestão mais ampla, pode abrir o painel de conclusões (no VS Code, Ctrl+Enter no Windows, Cmd+Enter no Mac) e ver o que o Copilot sugere:

Ele gerou toda a operação CRUD para mim. Só preciso copiar e colar no meu código ou clicar em “Accept Solution”. E é isso.

Github Copilot Chat

O que mostrei acima talvez não seja uma surpresa para a maioria dos desenvolvedores que já estão acostumados com o Github Copilot.

Mas o Github Copilot tem um sucessor: o Github Copilot X. Ele traz um chat e geração automática de testes e documentação. Vejamos alguns exemplos.

Você pode abrir o Github Copilot Chat com Ctrl+I no Windows ou Cmd+I no Mac. Ele abrirá um popup onde você pode digitar o que quiser. Certifique-se de selecionar o código ou comentário ao qual deseja aplicar o efeito.

Este é o resultado:

Não preciso aceitar essa sugestão imediatamente. Posso refinar o texto mais uma vez e pressionar Enter para obter uma sugestão mais refinada. Por exemplo, quero que ele faça as funções retornarem a coleção de usuários nas operações que alteram dados.

Até meu erro de escrita (“updates” em vez de “updated”) foi ignorado e o contexto correto foi inferido. Isso é muito legal.

Outros recursos

O menu de contexto do Copilot tem outras quatro opções: Explain this, Fix this, Generate Docs e Generate tests. E todas funcionam como esperado.

O Explain this é particularmente interessante porque abre o chat em um painel, onde você pode interagir com o Github Copilot, assim como faria com o ChatGPT.

Neste caso, estou pedindo que ele explique a função createUser gerada acima. E ele faz um trabalho muito bom nisso.

Para onde vamos daqui?

Como eu disse, não acredito que a IA substituirá desenvolvedores. Acredito que ela nos ajudará. Ela nos tornará mais produtivos e nos fará focar nas coisas importantes. E é isso que queremos. Pelo menos eu sou um desenvolvedor preguiçoso e quero fazer apenas o necessário.

Se você é um desenvolvedor sênior como eu, provavelmente encontrará no Github Copilot uma ferramenta muito poderosa para se tornar mais produtivo. Não espere que ele faça as coisas no seu lugar. Não é para isso que ele foi feito. Ele foi feito para ajudar, não para substituir.

Se você é um desenvolvedor júnior, provavelmente encontrará no Github Copilot uma ferramenta muito poderosa para aprender a programar. Você não encontrará todas as respostas ali, mas pelo menos terá alguém a quem pedir ajuda.

Mal posso esperar pelo que o futuro reserva em 2024 em relação à IA. Acho que teremos coisas malucas surgindo.

Abraços.


Headshot of Andrey Luiz

Gosto de escrever sobre desenvolvimento de software, mas vamos ser sinceros: gosto muito de reclamar. Para tentar reclamar menos, também toco tuba e faço crochê.