DEV Community

Cover image for Por que padronizar commits é algo importante?
Tadeu Barbosa
Tadeu Barbosa

Posted on • Updated on

Por que padronizar commits é algo importante?

Que atire a primeira pedra quem nunca usou um "corrige" ou "muda" ou ainda "correção" como mensagem de commit! E qual problema disso? É o que irei te mostrar em seguida!

O que é git para início de conversa?

Pra quem não faz ideia do que estou falando, o commit faz parte do git, um sistema de controle de versão, foi desenvolvido por Linus Torvalds para gerenciamento do código fonte do Linux. O git é bastante utilizado no desenvolvimento de software, embora você possa utilizá-lo para armazenar o progresso de qualquer outro arquivo ou documento que precisar.

Commits

O git funciona num sistema baseado em árvore (tree), as alterações realizadas no código farão com que o tronco se desenvolva e caso algumas alterações tomem rumos diferentes, novos galhos poderão ser criados. Os commits são identificadores de tais alterações. É como se criássemos uma assinatura para cada alteração realizada e assim, com posse dessa assinatura, podemos facilmente voltar ou avançar no nosso código.

Só consigo me lembrar do eterno Severino Cara Crachá

Mensagens de commit

Agora que já entendemos do que se trata o git e os commits podemos continuar. Caso ainda tenha dúvidas você pode assistir a esse vídeo do canal Código Fonte TV:

Vamos imaginar o seguinte cenário, você está trabalhando uma equipe e fica responsável por encontrar um bug. Pelas informações que colheram alguma coisa começou a dar errado há pelo menos três semanas! Os dados de uma certa categoria têm sumido sem um motivo aparente e pelos logs não foi possível encontrar o problema. Você dá um “git log” e se depara com algo como:

commits

Bem, nesse exemplo temos poucos commits, mas no mundo real isso poderia ser uma lista gigantesca! Porém, ao analisarmos a lista, percebemos o quão difícil é de tentar imaginar o que cada commit quer dizer. Agora, imagine-se nesse outro cenário:

commits

Bem, dessa forma já facilita a leitura e a compreensão do problema. Após uma lida você encontra alguns commits que podem estar relacionados ao problema e começa a investigá-los: “fix: corrige classe do usuário” e “fix: corrige função de renomear o usuário”. Após uma investigação detalhada você finalmente encontra o problema! Ao corrigir a classe do usuário, o Fulano acabou deixando algo pra trás e isso gerava o maldito bug!


Bem, esse foi apenas um exemplo... no mundo real as coisas podem ser diferentes. Há muito o que aprender sobre o assunto, mas esse é um bom começo. No dia a dia tento deixar os meus commits mais descritivos possível, tento aplicar o conventional commit, caso queira comente logo abaixo que faço um post sobre ele também!

E aí, me conta! Você já faz isso no dia a dia ou ficou interessado em fazer? Comenta aqui pra eu saber!

Para saber mais...

Deixo esse vídeo do canal do Dev Soutinho no youtube:

Discussion (0)