Refatore o código usando o Chat Embutido do GitHub Copilot
O recurso de Chat Embutido do GitHub Copilot permite refatorar o código diretamente no editor de código. O chat embutido é útil quando você deseja fazer alterações no código sem precisar alternar para o modo de exibição de Chat.
Entender seu código
Antes de refatorar seu código, é importante entender o código com o qual você está trabalhando. Você deve entender a finalidade do código, como ele funciona e quaisquer dependências que ele possa ter. Se você não estiver familiarizado com o código, reserve algum tempo para lê-lo e entender sua estrutura e lógica. Usar o GitHub Copilot para analisar o código pode ajudá-lo a identificar áreas de melhoria e sugerir opções de refatoração.
Você pode usar o recurso chat embutido para fazer perguntas sobre o código, obter explicações de partes específicas ou solicitar sugestões de melhorias. Por exemplo, você pode pedir ao GitHub Copilot para explicar como uma função específica funciona ou sugerir maneiras de otimificá-la. Você também pode usar o recurso chat embutido para pedir ajuda com tarefas de codificação específicas, como refatorar uma função ou melhorar a legibilidade do código.
Aqui estão alguns exemplos de prompts que pedem ao GitHub Copilot ajuda com o código:
/explain Explain how authentication is implemented in this code
/explain Can this code be updated to improve security? Explain the concepts and show some examples
Se a explicação for longa ou complexa, você poderá ir para o modo de exibição chat para continuar a conversa. Você também pode usar o modo de exibição chat para fazer perguntas de acompanhamento ou solicitar informações adicionais.
Usar o Chat Embutido para refatorar código
Use o recurso chat embutido quando quiser refatorar uma seção de código que executa uma tarefa específica. Para alterações mais complexas que envolvem a atualização de vários arquivos ou projetos, use um dos modos de exibição de Chat.
Para refatorar o código usando o Chat Embutido, siga estas etapas:
Abra o arquivo que contém o código que você deseja otimizar.
Selecione o código que você deseja otimizar.
Abra uma sessão de chat integrado.
Use o atalho de teclado Ctrl+I para abrir a sessão de Chat Embutido. Como alternativa, você pode selecionar Chat Embutido do Editor em um dos menus do GitHub Copilot.
Insira um prompt que solicita uma otimização.
Por exemplo: esse código pode ser aprimorado?
Examine a atualização de código sugerida.
O Copilot aplica a atualização de código sugerida diretamente no editor, onde você pode revisá-la no próprio local, com o contexto completo do código ao redor.
Selecione Aceitar ou Fechar para aceitar ou descartar a atualização de código sugerida.
Assim como acontece com todas as sugestões do Copilot, verifique se o código revisado é executado sem erros e produz o resultado correto.
O exemplo a seguir demonstra como usar o Chat Embutido para refatorar um método C# que processa dados.
O método original executa a limpeza de dados, constrói uma tabela de dados e imprime o conteúdo da tabela. Combinar várias operações em um método torna mais difícil manter e testar seu código.
Você pode refatorar o método original solicitando ao Chat Embutido que crie métodos separados para cada uma das tarefas executadas no método original.
Este é o código original:
using System;
using System.Data;
public class DataProcessor
{
public void ProcessData(string item, string price)
{
// Cleanse the data
item = item.Trim(); // Remove leading and trailing whitespace
price = price.Trim(); // Remove leading and trailing whitespace
double priceValue = double.Parse(price); // Convert price to a double
// More cleansing operations can be added here
// Create and print a DataTable
DataTable table = new DataTable();
table.Columns.Add("Item", typeof(string));
table.Columns.Add("Price", typeof(double));
table.Rows.Add(item, priceValue);
foreach (DataRow row in table.Rows)
{
Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
}
}
}
// Example usage
class Program
{
static void Main()
{
string item = " Apple ";
string price = " 1.50 ";
var processor = new DataProcessor();
processor.ProcessData(item, price);
}
}
Para refatorar o método ProcessData, siga estas etapas:
Selecione o método ProcessData.
Abra o chat embutido.
Insira um prompt que solicita ao Copilot que crie métodos separados para cada tarefa e pressione Enter.
Por exemplo: quero refatorar o método ProcessData. Quero um método para limpeza de dados, um método para impressão e um método para processamento de dados.
Examine a atualização de código sugerida.
Para este exemplo, Copilot sugere uma versão refatorada do método original que separa as tarefas de limpeza e impressão em métodos separados.
using System; using System.Data; public class DataProcessor { public void ProcessData(string item, string price) { (string cleansedItem, double cleansedPrice) = CleanseData(item, price); DataTable table = new DataTable(); table.Columns.Add("Item", typeof(string)); table.Columns.Add("Price", typeof(double)); table.Rows.Add(cleansedItem, cleansedPrice); PrintData(table); } private (string, double) CleanseData(string item, string price) { string trimmedItem = item.Trim(); string trimmedPrice = price.Trim(); double priceValue = double.Parse(trimmedPrice); return (trimmedItem, priceValue); } private void PrintData(DataTable table) { foreach (DataRow row in table.Rows) { Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}"); } } } // Example usage class Program { static void Main() { string item = " Apple "; string price = " 1.50 "; var processor = new DataProcessor(); processor.ProcessData(item, price); } }Neste exemplo, refatorar o código original melhora a modularidade e torna o código mais fácil de entender.
Selecione Aceitar ou Fechar para aceitar ou descartar a atualização de código sugerida.
Neste exemplo, o código sugerido parece bom, portanto, você selecionaria Aceitar para aplicar o código refatorado ao seu projeto.
Assim como acontece com todas as sugestões do Copilot, verifique se o código revisado é executado sem erros e produz o resultado correto.
Teste o código refatorado para garantir que ele seja executado sem erros e gere o resultado esperado.
Resumo
O recurso de Chat Embutido do GitHub Copilot permite refatorar o código diretamente no editor de código. O chat embutido é útil quando você deseja fazer alterações no código sem precisar alternar para o modo de exibição de Chat. Você pode usar o Chat Embutido para pedir ajuda com tarefas de codificação específicas, como refatorar uma função ou melhorar a legibilidade do código. Você também pode usar o Chat Embutido para avaliar seu código existente antes da refatoração.