image

Access unlimited bootcamps and 650+ courses forever

75
%OFF
Article image
Moacir Alves
Moacir Alves04/12/2025 14:07
Share

O Copilot gera commits. Quem os transforma em profissionais é você

    O Copilot gera commits. Quem os transforma em profissionais é você

    Nos últimos dias venho testando os commits gerados automaticamente pelo GitHub Copilot dentro do Visual Studio. A primeira impressão é boa: ele segue um formato claro, tenta manter coerência e até gera descrições relativamente confiáveis. Mesmo quando você não informa o tipo do commit (feat, fix, chore) ele tenta adivinhar o contexto pelo código. Mas existe um problema central: o Copilot descreve tudo o que foi alterado, como se estivesse narrando um diff. E commit não é isso.

    Muita gente esquece que commit não é um relatório técnico. Ele não serve para listar arquivos alterados, métodos criados e detalhes de implementação. Isso o Git já mostra perfeitamente via git diff. Commit é um lugar para registrar o que precisava ser feito e por que essa alteração existe. Um bom commit transmite intenção, não uma autópsia do código.

    O Copilot não entende intenções. Ele entende apenas o resultado do código. Ele sabe o que foi feito, mas não sabe o que o cliente pediu, a regra de negócio envolvida, o propósito do ticket ou a mudança esperada no comportamento da aplicação. Por isso ele gera commits muito descritivos e, muitas vezes, excessivamente técnicos.

    E isso não é culpa da IA: é o comportamento natural dela. O Copilot é o copiloto, não o desenvolvedor. Ele ajuda, mas não substitui o discernimento humano.

    Um exemplo simples mostra isso na prática.

     Imagine que você adicionou suporte a login de um novo tipo de usuário “Educador” em uma aplicação ASP.NET Core MVC. Depois de alterar o controller, a service layer e ajustar a ViewModel, o Copilot gera algo parecido com isto:

    ❌ Exemplo gerado pelo Copilot (cheio de detalhes irrelevantes)

    Implementa suporte ao tipo de usuário Educador e atualiza fluxo de autenticação

    Esta alteração adiciona suporte completo ao novo tipo de usuário ‘Educador’.

    Alterações no Controller:

    • No AuthController, foi adicionada validação adicional no método Login().
    • O método AuthenticateUserAsync foi atualizado para buscar Educadores no banco de dados.

    Alterações no Service:

    • Criada a classe EducadorService para consultar Educadores no repositório.
    • Adicionado método FindByEmailAsync.

    Alterações na Camada de Dados:

    • Criada a entidade Educador.cs.
    • Adicionada nova tabela no contexto AppDbContext com DbSet<Educador>.

    Alterações na View:

    • Atualizada a LoginViewModel adicionando o campo TipoUsuario.

    Arquivos modificados:

     AuthController.cs, EducadorService.cs, Educador.cs, AppDbContext.cs, Login.cshtml, LoginViewModel.cs

    Perceba: isso parece descrição de PR, não commit. O Copilot está apenas lendo o diff e transformando tudo em texto.

    Agora veja o mesmo commit escrito da forma correta, focado em intenção e entregável:

    ✔️ Exemplo ajustado pelo desenvolvedor (limpo e profissional)

    feat(auth): adicionar suporte ao tipo de usuário Educador no fluxo de login
    Implementado o tipo 'Educador' na autenticação, incluindo validação no AuthController,
    ajuste na service layer e inclusão da entidade no AppDbContext.
    

    Simples. Direto. Profissional.

     O commit diz o que era para ser feito e o que foi entregue, sem listar arquivos alterados ou detalhes que pertencem ao diff.

    Esse é o ponto central: o problema não é o Copilot. O problema é achar que o commit gerado por ele está pronto. Ele fornece um rascunho baseado no que viu no código. Quem coloca intenção, contexto e clareza é o desenvolvedor. Somente o dev sabe responder perguntas como:

    • Por que isso foi implementado?
    • O que o cliente pediu?
    • Qual demanda o commit resolve?
    • Qual regra de negócio foi alterada?

    A IA entende “o que mudou”, mas apenas o dev entende “por que mudou”.

    E commit bom é sobre propósito, não sobre mudança técnica detalhada.

    Por isso, continue usando o Copilot para escrever commits , ele acelera o processo e ajuda muito, mas nunca publique um commit bruto. Edite. Adicione o prefixo correto. Remova detalhes desnecessários. Escreva como alguém que entende o contexto do projeto, não como um narrador do diff do Git.

    A IA é uma ferramenta. Quem entrega software bem feito continua sendo você.

    Share
    Recommended for you
    GitHub Copilot - Código na Prática
    CI&T - Backend com Java & AWS
    Nexa - Machine Learning e GenAI na Prática
    Comments (1)

    MT

    Marcelo Teixeira - 04/12/2025 15:02

    Ótimo artigo.