Como aumentar a produtividade com Copilot

Após explicarmos as origens do GitHub Copilot e ensinarmos o passo a passo para a instalação da ferramenta, trazemos neste artigo dicas práticas de aplicação do Copilot nas tarefas diárias de desenvolvimento. Confira!
Rickson Oliveira | 3 de julho de 2024

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?

Escreva códigos limpos com Copilot

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

Código limpo com Copilot no Python

ELIXIR

Código limpo com Copilot no Elixir

NODE.JS

Código limpo com Copilot no 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

Melhore a função, condição ou lógica do seu código com Copilot
Melhore a função, condição ou lógica do seu código com Copilot - parte 2
Melhore a função, condição ou lógica do seu código com Copilot - parte 3

Além do seu código seguir boas práticas, você também acaba aprendendo enquanto desenvolve! 

Faça testes com Copilot

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

Teste seu código em Python com Copilot

Como temos um copiloto eficiente, também podemos pedir para ele escrever testes para casos específicos:

NODE.JS

Teste seu código em Node.js com Copilot

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.

Faça documentações

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

Documentação em Python

ELIXIR

Documentação em Elixir

NODE.JS

Tutorial em 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!

Rickson Oliveira