Um Guia Prático sobre Convenções de Commits

Os commits são uma parte essencial do processo de desenvolvimento de software. Eles nos permitem rastrear as alterações feitas em um projeto e fornecem um histórico de tudo o que aconteceu. No entanto, nem todos os commits são úteis, tenho certeza que você já viu algumas mensagens de commits completamente inúteis… tenho certeza que você já comitou mensagens inúteis… rsrs.. admita… estamos entre amigos aqui ;).

O que são Conventional Commits?

Os Conventional Commits são uma convenção de nomenclatura para mensagens de commit. Eles seguem um formato específico, consistindo de um cabeçalho, um corpo opcional e um rodapé também opcional, separados por uma linha em branco. O cabeçalho é composto por um tipo, um escopo (opcional) e uma descrição concisa do commit.

A estrutura básica de um commit convencional é a seguinte:

Tipo(escopo opcional): descrição

Corpo opcional

Signed-by: fulano@fulano.com.br
Refs: #123

Tipos de Commits

Existem vários tipos de commits já convencionados, mas nada impede que você crie os seus pr´óprios tipos.

Aqui estão alguns dos tipos mais comuns:

  • feat: Usado para adicionar uma nova funcionalidade ao projeto.
  • fix: Usado para corrigir um bug ou problema existente.
  • docs: Usado para adicionar ou atualizar a documentação do projeto.
  • style: Usado para fazer alterações de formatação, como espaços em branco, indentação, etc.
  • refactor: Usado para fazer alterações no código que não adicionam uma nova funcionalidade ou corrigem um bug.
  • test: Usado para adicionar ou modificar testes no projeto.
  • chore: Usado para fazer alterações na configuração do projeto, scripts auxiliares, etc.

Usos e Benefícios

Ao adotar os Conventional Commits, você estabelece uma estrutura clara e consistente para seus commits. Isso torna mais fácil para você e outros desenvolvedores entenderem o propósito de cada commit e acompanhar as mudanças feitas ao longo do tempo.

Outro benefício é a possibilidade de integração com ferramentas de automação, como sistemas de integração contínua. Por exemplo, você pode configurar seu sistema de CI/CD para executar automaticamente testes e implantar seu código em diferentes ambientes com base nos tipos de commits.

Outro benefício é a geração automática de changelogs. Com base nas mensagens de commit, você pode gerar um log de alterações que lista todas as funcionalidades adicionadas, bugs corrigidos e outras alterações relevantes em cada versão do seu projeto.

E por fim, ao adotar um padrão de commits, você terá uma melhor comunicação entre os membros da equipe. Ao seguir a convenção, todos os desenvolvedores têm uma compreensão clara do que cada commit representa e podem colaborar de forma mais eficiente.

Conclusão

Não há motivos para não adotar o uso de Conventional Commits, trata-se de uma abordagem simples e eficaz para padronizar a forma como escrevemos nossos commits. Eles fornecem clareza, organização e facilidade de entendimento para o histórico de alterações de um projeto. Além disso, eles trazem benefícios adicionais, como integração com ferramentas de automação e geração automática de changelogs.

Portanto, se você ainda não está usando os Conventional Commits em seus projetos, considere adotá-los. Segundo um estudo realizado por mim com “migo” mesmo, as chances de dor de cabeça caem 50% só de utilizar padrões nos seus projetos ;).

Se quiser conhecer em mais detalhes, indico a leitura do site oficial:

Conventional Commits: A specification for adding human and machine readable meaning to commit messages.

No próximo post trarei um exemplo prático de como adotar esse padrão pode te ajudar no seu dia-a-dia.

Enquanto o próximo post não chega, dá uma olhada nos últimos 2 posts sobre Qualidade de dados:

Fechado!?

Abraço a todos, e até a próxima!

Exit mobile version