image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Gustavo Koglin
Gustavo Koglin27/05/2025 01:39
Share
WEX - End to End EngineeringRecommended for youWEX - End to End Engineering

GitHub Copilot: 6 Truques para ter uma Maior Produtividade!

  • #Azure
  • #GitHub Copilot

Imagine ter um parceiro de programação que conhece todas as linguagens, nunca cansa e está disponível 24 horas por dia. É exatamente isso que o GitHub Copilot oferece - um assistente de IA que transforma a forma como desenvolvemos software.

  • Neste artigo, você vai descobrir técnicas práticas e pouco conhecidas que os desenvolvedores mais experientes estão usando para:
  • Reduzir em até 50% o tempo gasto em tarefas repetitivas;
  • Escrever código mais limpo e eficiente;
  • Evitar erros comuns;
  • Aprender novas tecnologias enquanto codifica.

Se você quer elevar seu nível como desenvolvedor e produzir mais em menos tempo, continue lendo. Vamos revelar os segredos para extrair o máximo potencial dessa ferramenta revolucionária.

Pronto para transformar sua forma de programar? Vamos começar!

Neste artigo utilizaremos as seguintes linguagens e frameworks para exemplificação:

  1. Angular | Typescript
  2. .Net | C#
  3. Python

1. Use Comentários Descritivos para Códigos Mais Precisos:

O Copilot entende contextos a partir dos seus comentários. Quanto mais detalhado, melhor o resultado.

Exemplo:

#python:

# Crie uma função que calcula o IMC (Índice de Massa Corporal)  
# Recebe peso (kg) e altura (m), retorna o valor e a classificação  
def calculate_bmi(weight, height):  
  bmi = weight / (height ** 2)  
  if bmi < 18.5:  
      return bmi, "Abaixo do peso"  
  elif 18.5 <= bmi < 25:  
      return bmi, "Peso normal"  
  # ... (o Copilot completa o resto!)  

Você consegue utilizar o Copilot através da extensão da ferramenta no VS Code:

Codigo:

image

Solicitando alterações e implementações:

image

Código final com o Copilot:

image

Se você estiver "codando" em um idioma, lembre-se de pedir no prompt para que mantenha o idioma original, altere apenas o idioma da função, variável, string, etc.

Para aceitar as correções, apenas clique em "Accept", e salve seu código, ou caso seu "autosave" no VS Code estiver ativado:

image

Dica: Experimente prompts como:

  • "Escreva uma função que valide um CPF em Python."
  • "Crie um hook React para buscar dados de uma API."

2. Gere Código a Partir de Exemplos (Few-Shot Prompting):

O GitHub Copilot usa uma técnica chamada "Few-Shot Prompting", onde ele analisa exemplos de código que você fornece e gera soluções seguindo o mesmo padrão. É como ensinar o Copilot a pensar como você!

Como Funciona?
  1. Você mostra 2-3 exemplos do que precisa.
  2. O Copilot identifica o padrão.
  3. Ele completa o próximo trecho automaticamente.

Mostre exemplos e peça ao Copilot para seguir o padrão.

//javascript:

// Exemplo 1: Função que soma dois números  
function sum(a, b) { return a + b; }  

// Exemplo 2: Função que subtrai dois números  
function subtract(a, b) { return a - b; }  

// Agora crie uma função que multiplica dois números  
// (O Copilot sugerirá automaticamente!)  

3. Refatore Código com Comandos Diretos

Peça otimizações, melhorias de legibilidade ou conversão entre linguagens.

Exemplo:

#python:

# Refatore este código para usar list comprehension  
numbers = [1, 2, 3, 4, 5]  
squared = []  
for num in numbers:  
  squared.append(num ** 2)  

# O Copilot pode sugerir:  
squared = [num ** 2 for num in numbers]  

Experimente:

  • "Converta este SQL em uma query do MongoDB."
  • "Melhore a performance deste loop em JavaScript."

4. Como Corrigir Código com o GitHub Copilot (Exemplo Angular + .NET):

BackEnd (.NET 6) - Controller com Rota Quebrada:

// csharp:

[ApiController]
public class ProductsController : ControllerBase
{
  [HttpGet("getproducts")]  //Rota mal formatada (aspas erradas)
  public List<Product> GetProducts() //Sem tratamento de erro
  {
      return _db.Products.ToList(); //Nenhum StatusCode definido
  }
}

FrontEnd (Angular) - Chamada HTTP com Problemas:

// typescript

getProducts() {
this.http.get("http://localhost:5000/getproducts") //URL errada (falta /api)
  .subscribe(data => this.products = data); //Sem tratamento de erro
}

Corrigindo com o GitHub Copilot - Passo a Passo:

.NET | C# (CSharp)

Adicione um comentário descrevendo o problema

// Corrija: Rota mal formatada e adicione tratamento de erros

O Copilot vai sugerir:

// csharp:

[HttpGet("api/products")]  //Padrão REST  
public IActionResult GetProducts()  
{  
  try  
  {  
      return Ok(_db.Products.ToList()); //Retorno padronizado  
  }  
  catch (Exception ex)  
  {  
      return StatusCode(500, ex.Message); //Tratamento de erro  
  }  
}

Angular | Typescript:

Peça para corrigir a chamada HTTP:

// Corrija: URL incorreta e adicione tratamento de erro

O Copilot vai sugerir:

getProducts() {
this.http.get<Product[]>("http://localhost:5000/api/products") //URL correta
  .subscribe({
    next: (data) => this.products = data,
    error: (err) => console.error("Erro ao carregar produtos", err) //Tratamento
  });
}

5. Gere Testes Automáticos em Segundos

# python:

# Escreva um teste pytest para a função calculate_bmi  
def test_calculate_bmi():  
  assert calculate_bmi(70, 1.75)[0] == 22.86  
  assert calculate_bmi(70, 1.75)[1] == "Peso normal"  
  # ... (o Copilot completa outros casos de teste!)  

6. Integre com Azure AI para IA Generativa Avançada:

Combine o Copilot com Azure OpenAI para ir além:

  • Gere documentação automaticamente.
  • Crie scripts complexos com ajuda do GPT-4.
  • Traduza código entre linguagens.

Exemplo de uso com Azure AI:

# python:

from openai import AzureOpenAI  

client = AzureOpenAI(api_key="SUA_CHAVE")  
response = client.chat.completions.create(  
  model="gpt-4",  
  messages=[{"role": "user", "content": "Explique o que é o GitHub Copilot em 1 parágrafo."}]  
)  
print(response.choices[0].message.content)  

Domine o GitHub Copilot e Codifique como um Profissional!

Com o GitHub Copilot, você pode:

  1. Reduzir tempo em tarefas repetitivas;
  2. Escrever código mais limpo e eficiente;
  3. Gerar testes e documentação em segundos.
  4. Corrigir problemas no código, sendo uma ferramenta ideia para desenvolvedores iniciantes.
  5. Escrever código mais rápido e com menos erros.
  6. Corrigir bugs em segundos usando comentários simples.
  7. Aprender boas práticas enquanto programa.

Basta descrever o que precisa e deixar o Copilot ajudar. Quanto mais você usa, mais eficiente fica!

Links:

Links Pessoais:

LinkedIn | GitHub | Site

Qual truque você vai testar primeiro? Comente abaixo!

Share
Recommended for you
Microsoft - Azure Administrator Certification (AZ-104)
Microsoft 50 Anos - Computação em Nuvem com Azure
Microsoft Azure Cloud Native
Comments (2)
Gustavo Koglin
Gustavo Koglin - 27/05/2025 12:58

Acho todas as dicas importantes. Mas os que eu mais uso, são os de verificar possíveis erros e "portas abertas" para possíveis bugs e como melhorar o código. Isso ajuda muito!

Para devs iniciantes que não entendem a possibilidade de possíveis erros no código, eu acho importante perguntar ao Copilot se há possíveis quebras no código, erros e a possibilidade de melhorar sua codificação. Por exemplo:


// typescript:

function greet(user: { name: string, age?: number }) {

 console.log(`Olá, ${user.name}!`); 

// Supomos que age sempre existe, mas é opcional.
 if (user.age > 18) {
console.log("Você é maior de idade.");
 } else {
console.log("Você é menor de idade.");
 }
}

greet({ name: "João" });


Problema:

O campo age é opcional, mas o código assume que ele sempre está presente ao fazer "user.age > 18".

Bug possível:

Na chamada "greet({ name: "João" })", o age não é fornecido, então o valor será undefined. Comparar undefined > 18 retorna false, então o código cairá incorretamente no else, mesmo que não haja uma idade definida.

Solução:

Usar verificação adequada de existência do campo opcional:

Perguntando ao Copilot, ele responderá como abaixo:

// typescript:

/* Copilot: Como verificar se a idade não for informada, para que não caia no else mesmo que não haja uma idade definida? */

function greet(user: { name: string, age?: number }) {
 console.log(`Olá, ${user.name}!`);

 if (typeof user.age === "number") {
if (user.age > 18) {
 console.log("Você é maior de idade.");
} else {
 console.log("Você é menor de idade.");
}
 } else {
console.log("Idade não informada."); 

/* O else trata quando a idade não informada, para obrigar o usuário digitar a idade precisaria remover o "?" na propriedade "age?: number" do objeto "user". */
 }
}

Fazendo as perguntas corretas ao prompt, ajudará muito o desenvolvedor a entender possíveis erros, como fazer testes, como melhorar o código, refatorar, etc. E tudo isso ajuda e melhora quando você utiliza o Copilot com o IntelliSense no VS Code.

DIO Community
DIO Community - 27/05/2025 12:08

Excelente, Gustavo! Seu artigo é um verdadeiro manual prático para maximizar a produtividade com o GitHub Copilot. Os "6 truques" que você revelou são dicas de ouro que, sem dúvida, ajudarão muitos desenvolvedores a elevar seu nível e aprimorar a escrita de código.

Na DIO, nosso compromisso é capacitar talentos para o futuro da tecnologia, e o domínio de ferramentas como o GitHub Copilot é fundamental para o crescimento escalável e a otimização da performance. Sua abordagem didática e os exemplos práticos contribuem diretamente para a missão de democratizar o conhecimento.

Pensando nesses truques para maior produtividade, qual você acredita ser o mais crucial para um desenvolvedor iniciante que está dando seus primeiros passos com o GitHub Copilot?

Recommended for youWEX - End to End Engineering