Hands-on: desenvolvendo e criando documentações técnicas com Github Copilot

Itaú Tech
ItauTech
Published in
4 min readSep 19, 2023

por Lucas de Faria Polaquini, Especialista em Engenharia de Tecnologia no Itaú

Do lado esquerdo da imagem, há a frase “Hands-on: Github Copilot na prática: como você pode utilizar a IA no processo de desenvolvimento e documentação”. Do lado direito, há a foto de um homem branco, de cabelo loiro, trabalhando com um notebook. Ele é loiro, usa headphones e veste uma camisa azul, sobre uma camiseta branca.

No último artigo, abordamos toda a teoria por trás da ferramenta Github Copilot, uma poderosa aplicação desenvolvida pela OpenAI, em parceria com a GitHub, capaz de acelerar processos de programação e até de documentação técnica. Nele, também te ensinamos como configurar a ferramenta e dar os seus primeiros passos com ela.

Já leu o primeiro e absorveu esse contexto? Então agora vamos entender como ele se aplica na prática, em um hands-on que se propõe a simular a criação de uma função simples, que tem o objetivo de calcular um número médio da soma de dois valores, além de criar uma documentação para ela.

GtHub Copilot em ação

Quando começamos a escrever a documentação de um método, o Copilot pode sugerir uma explicação para o que ele faz, como no exemplo a seguir:

a imagem mostra uma abordagem de codificação onde antes de criamos a função, escrevemos a documentação sobre o que a função fará. No caso do C#, iniciamos a escrita da documentação da função com a notação /// <summary>. Após iniciarmos a criação do summary, a pessoa desenvolvedora escreve “Função” e a ferramenta complementa a frase com “que calcula a média dos valores passados como parâmetro”.

No exemplo, iniciamos criando um arquivo/classe. Não iremos nos prender a qual tecnologia será usada — afinal, como falamos no artigo anterior, o Copilot foi treinado em múltiplas linguagens e dá conta do recado!

Notem que, neste caso, criamos uma classe em C# e começamos a escrever um summary para a função. A ideia neste ponto é descrever o que a função fará, para munirmos o Copilot com as informações necessárias.

a imagem mostra a sequencia da escrita da documentação da função. Neste momento, a pessoa desenvolvedora inicia o processo de definição dos parâmetros de entrada da função. Na imagem, a pessoa desenvolvedora escreve “<param name=n1” e o copilot completa com “ Primeiro valor</param>”

Conforme vamos escrevendo, ele começa a entender e fazer predições mais assertivas:

a imagem mostra a sequencia da escrita da documentação da função. Neste momento. Conforme vamos munindo o copilot com informações, ele começa a entender cada vez mais nossa intenção e as sugestões começam a ser mais acertivas. Na imagem, o copilot sugeriu na linha de baixo do primeiro parametro, a estrita total de entrada para o segundo parametro desta forma: “<param name=n2>Segundo valor</param>

Neste ponto, a ferramenta já entendeu a lógica da nossa aplicação e é capaz de sugerir de forma automática a linha para o segundo parâmetro.

a imagem mostra a sequencia da escrita da documentação da função. Neste momento o copilot entendeu que a função é para calculo da media de dois numeros e como vimos anteriormente, ele sugeriu a entrada do segundo valor, e agora ele já sugeriu que a função terá um retorno. Seguindo a notação da linguagem, iniciamos a digitação de “<re” e o copilot completou com “turns>Média dos valores</returns>

Agora, ao começarmos a digitar o retorno, ela já fez uma sugestão com base nas informações que ele possui. Incrível, né? Mas acreditem, a mágica ainda está por vir!

a imagem mostra a sequencia da escrita da documentação da função. Neste momento, já temos nosso summary completo. Com base nela, o copilot sugeriu a escrita da função de forma automática. Ele sugeriu a criação de uma classe chamada Calculadora e a criação de uma função chamada Media. O codigo ficou desta forma:
 
 
 public class Calculadora
 
 {
 
 public double Media(double n1, double n2)
 
 {
 
 return (n1 + n2) / 2;
 
 }
 
 }

Com base na documentação, o Copilot nos sugere a função pronta. E de quebra, ainda temos uma parte do código documentada. Abaixo, compartilhamos a documentação gerada pela ferramenta:

Ou seja, agora, quanto mais clara e bem escrita nossa documentação estiver, além de ajudarmos todas as pessoas de engenharia que forem trabalhar com o código futuramente, também teremos as melhores sugestões do Copilot.

Agora, iremos criar um README.md para nosso projeto. E adivinha? O Copilot também é capaz de nos ajudar com isso.

Para começar, vamos criar nosso README.md e iniciar nosso trabalho. Neste exemplo, coloquei no início um título para o repositório. A seguir, a mágica começa a acontecer. Percebam que já começamos com sugestões da ferramenta:

Texto alternativo: a imagem mostra o processo de documentação agora no readme.md
 
 
 A pessoa desenvolvedora inicia a escrita do readme.md com as informações “# Documentação função média
 
 
 ## Des”
 
 
 O Copilot começa a entender a intenção e sugere o complemento, ficando “## Descrição”

Um ponto importante: apesar do potencial do Copilot, a ferramenta precisa que você a guie para o caminho correto. Então, neste começo descrevemos de uma forma bem breve o objetivo da função. Dessa forma, podemos receber sugestões mais assertivas.

a imagem mostra o processo de documentação agora no readme.md
 
 
 O copilot entende e conhece sobre funções de média e sugere os parametros conforme o esperado. Desta forma, recebemos como sugestão: 
 
 “- n1: Primeiro valor
 
 — n2: Segundo valor”

Como demonstrado no exemplo abaixo, a partir da descrição, o Copilot já começa a entender o contexto e sugerir de forma assertiva pontos relevantes para a documentação.

a imagem mostra o processo de documentação agora no readme.md
 
E de uma forma “mágica:”, ele entende que já temos os parametros de entrada documentados, e sugere agora o item de retorno, ficando assim “## Retorno”

Conforme passamos para os próximos passos, ele passa a sugerir uma ordem de informações e tópicos para nosso README.

a documentação gerada pelo Copilot:
 
 
 # Documentação função média## DescriçãoFunção que calcula a média de dois valores passados como parâmetro.## Parâmetros- n1: Primeiro valor- n2: Segundo valor## Retorno- Média dos valores passados como parâmetro## Exemplo em C#```csharpvar media = Media(10, 5);```## Autor- Lucas Polaquini

Seguindo esse fluxo, temos uma documentação clara e objetiva sobre a função — tudo com o auxílio do Copilot.

Vale lembrar que a ferramenta deve ser usada como suporte, e não como fórmula mágica. Ela não irá trabalhar de forma efetiva se você não for capaz de muni-la com as informações mais relevantes para que ela seja executada.

Como demonstrado, o Copilot pode ser uma ferramenta valiosa para a escrita de códigos e documentações. Com o auxílio do assistente de codificação, você pode aumentar a produtividade, reduzir erros, facilitar a escrita de documentações e gerar exemplos de uso de funções e métodos em seus códigos.

Você já utilizou o Copilot ou aplica a ferramenta no seu dia a dia? Compartilhe com a gente as suas percepções nos comentários! Tem alguma dúvida sobre o conteúdo ou gostaria de ler sobre algum outro tema por aqui? Pode dividir com a gente também para continuarmos a nossa conversa. ;)

--

--