Antes de iniciar a leitura deste artigo, vale a pena você conferir a primeira parte desta série sobre GitHub Copilot, em que explicamos as origens da ferramenta e ensinamos a instalar e a configurá-la em seu computador. Depois de concluída a leitura, podemos prosseguir para o objetivo deste artigo, que é oferecer dicas para potencializar sua produtividade com a plataforma.
O GitHub Copilot, como o próprio nome já diz, veio para ser um copiloto, te auxiliando a “pilotar” o seu projeto, e não para te substituir, como alguns pensam. Assim como um piloto precisa de um copiloto para checar cada etapa do voo, fazer inspeções esporádicas do avião e auxiliar o piloto a tomar as melhores decisões ao controlar a aeronave, similarmente o GitHub Copilot desenvolve esse mesmo papel.
Você, desenvolvedor, pode usar essa ferramenta incrível para te auxiliar a tomar as melhores decisões, como escrever um código mais limpo e testável, e o mais importante: escrever código para humanos. Neste artigo, utilizamos exemplos em três linguagens para demonstrar como ser produtivo com cada uma delas usando o Copilot: Python, Elixir e Node.js. Pronto para a decolagem?
Começaremos mostrando como o Copilot pode te ajudar a escrever um código mais limpo de maneira prática. Por exemplo, vamos dizer que você está focado em implementar uma condição da regra de negócio do seu projeto no seu código, porém você não tem muita certeza de como fazer isso. Bem, para não perder tempo com como o código será escrito e se ficará limpo ou não, você tem duas opções.
1. Você pode simplesmente dizer ao Copilot Chat a lógica que você precisa escrever, dizendo que crie um função para isso ou algo do tipo. Vamos ver alguns exemplos:
Pressione (CTRL + i) se estiver no Windows ou Linux, ou (Command + i ) se estiver no Mac, para abrir o Copilot Chat na linha de código que deseja, ou apenas abra o plugin no seu editor.
PYTHON
ELIXIR
NODE.JS
2. Você tem em mente o código que deseja fazer, mas ainda não pensou em torná-lo um código limpo e testável? Ao invés de perder um tempo precioso sobre qual maneira seu código ficará mais glamuroso, apenas escreva o que está pensando e peça que o Copilot melhore a função/condição/lógica que está implementando, talvez até mesmo pedindo boas práticas da linguagem. Veja só:
ELIXIR
Além do seu código seguir boas práticas, você também acaba aprendendo enquanto desenvolve!
Escrever testes para a sua aplicação com certeza é uma prática valiosa hoje em dia, mas a verdade é que, se você não escreve enquanto desenvolve ou não tem esse hábito, provavelmente seu código não será totalmente testado ou você não vai se lembrar de preencher os gaps depois. Além disso, a verdade nua e crua é que escrever testes leva tempo.
Se gastássemos tempo apenas escrevendo testes da nossa lógica, tudo bem. Mas não é sempre assim, a realidade é que gastamos mais da metade desse tempo estruturando os boilerplates dos nossos testes. O Copilot também veio para resolver isso. Lembra que um copiloto está sempre fazendo as inspeções para seu piloto? Então basta pedir para nosso copiloto fazer o mesmo pra nós!
Ao escrever uma função diga, para o Copilot algo como: “Por favor, escreva um teste unitário para essa função”. Então ele irá sugerir o teste no seu chat, basta aceitar e ele criará o arquivo de teste para você.
OBS.: Estamos falando com um robô, mas ainda assim somos educados.
Ou, no seu arquivo de teste, basta digitar a função que deseja testar escrevendo o nome do teste, após alguns instantes ele vai sugerir para você um teste unitário baseado naquela função. Isso mesmo, ele se “lembra” da lógica aplicada na função de outro arquivo.
PYTHON
Como temos um copiloto eficiente, também podemos pedir para ele escrever testes para casos específicos:
NODE.JS
Agora fica fácil seguir à risca o TDD, não é? Mas lembre-se de realmente executar o teste e verificar se está correto. O Copilot faz sugestões baseadas no que seu “banco de dados”, por assim dizer, tem guardado, então ele vai te dar uma ideia geral sobre como testar sua função, mas cabe a você, piloto, ver se está tudo em conformidade.
Outra tarefa importante do copiloto é ter certeza de que o seu piloto tem todas as instruções que precisa, e até mesmo fazer um checklist dessas instruções. O mesmo acontece conosco como pilotos do projeto em que estamos trabalhando. Precisamos documentar tudo que fazemos, e isso muitas vezes pode ser maçante e consumir bastante tempo.
Então, vamos pedir para o nosso copiloto fazer um “checklist” de cada função que escrevemos à medida em que desenvolvemos. Assim teremos um código não somente limpo e testável, mas como mencionado antes, feito para humanos.
Selecione a função desejada ou apenas digite a palavra reservada da sua linguagem para iniciar um comentário ou documentação em cima da função, e o nosso copiloto já terá entendido a sua missão.
PYTHON
ELIXIR
NODE.JS
Que tal abrir o projeto que você está trabalhando agora e tentar também? Revise tudo e, se estiver tudo certo, já podemos começar nosso pouso!
Para concluir o voo, é válido lembrar que o Copilot pode ser um ótimo aliado para auxiliar nas tarefas diárias e para aumentar o conhecimento em desenvolvimento. Porém, lembre-se que o Copilot não vai sempre acertar, então quando usá-lo, você deve sempre se certificar, testando bem e verificando se o código está realmente executando o esperado. Lembre-se, com grandes poderes vem grandes responsabilidades!
Let's go codar!