Padrões de Commits: por que utilizar?

A utilização do Git para versionamento de código é algo que faz parte do dia a dia de qualquer desenvolvedor de software, seja iniciante, estagiário, júnior, pleno ou sênior. De modo geral, o versionamento consiste em estratégias para gerenciar as diferentes versões de um código, de um sistema ou de um modelo. Então, os commits são formas de administrar as mudanças que são feitas e de garantir mais segurança na transição de uma versão para outra.

[adrotate banner=”4″]

Sendo assim, para poder otimizar o tempo de desenvolvimento de um projeto e entender em que ponto está esse desenvolvimento, os commits se fazem extremamente necessários. Por conta disso, eles precisam ser levados a sério e nomeados da melhor e mais clara maneira possível.

Assim, utilizar Padrões de Commits, também chamados de Conventional Commits ou Commits Semânticos, é uma excelente forma de melhorar os seus commits.

O que são commits e padrões de commits?

Os commits são basicamente o estado em que o projeto se encontra na linha do tempo. Ou seja, a versão do projeto naquele momento em que o commit foi criado.

Assim, os padrões de commits são uma série de convenções e boas práticas, que descrevem e dão uma boa noção para nomear as mensagens dos commits, de modo a deixá-los mais claros, bem estruturados e específicos. Em outras palavras, os padrões de commits auxiliam os desenvolvedores a nomear os commits para que eles digam exatamente qual foi a natureza da mudança e que mudança foi feita.

Vale ressaltar que essas regras, além de ajudar o desenvolvedor, irão também auxiliar o time, os novos membros da equipe, o público no geral, os clientes e todos os demais stakeholders. Isso porque, como todos os commits agora seguem uma regra específica e comunicam bem a natureza da sua alteração, todos conseguem entender exatamente o que aquela mudança faz, no que o time está trabalhando no
momento, em que estado se encontra o projeto, etc.

Como utilizar padrões de commits nos projetos?

Agora que já foi definido o que são commits semânticos, vamos entender como utilizá-lo na prática.

Basicamente, as regras são bem simples de compreender, como mostra o exemplo abaixo:

Padrões de Commits: por que utilizar? Luby Software
Estrutura básica de um commit semântico

Essa estrutura requer um tipo (obrigatório) para indicar qual foi a natureza da mudança, um escopo ou contexto do commit (opcional), uma descrição (obrigatório) para informar qual foi a mudança feita, um corpo para descrições mais detalhadas (opcional) e um rodapé (opcional).

Então, neste artigo, abordaremos apenas os pontos obrigatórios e o escopo, que são os mais utilizados no dia a dia.

Tipos de commits

Para indicar bem qual foi a mudança realizada no projeto, é importante conhecer os tipos de commits que podem ser aplicados. Dessa forma, eles seguem as regras da tabela a seguir:

Tipo Significado
feat Indica que o trecho de código está incluindo um novo recurso (nova
feature).
fix Indica que o trecho de código está solucionando um erro que está
causando bugs na aplicação.
docs Indica que houveram mudanças na documentação.
test Indica alterações em testes, seja criando, alterando ou excluindo testes
unitários.
refactor Indica mudanças devido a refatorações que não alteram sua
funcionalidade.
build Indica modificações em arquivos de build e/ou dependências.
chore Indica atualizações de tarefas de build, configurações de administrador,
pacotes, etc. Porém, diferente do tipo build, o chore são mudanças de
desenvolvimento. Em outras palavras, mudanças que não afetam o
sistema ou arquivos de testes.
perf Indica quaisquer alterações de código que estejam relacionadas à
performance.
style Indica que houveram alterações referentes a formatação de código, mas
que não alteram o sistema.
revert Indica que houve uma reversão de um commit anterior.

Escopo de commits

O escopo de commit serve basicamente para contextualizar o commit, indicando quais pontos do sistema essa mudança irá afetar. Então, apesar de não ser obrigatório, o escopo é muito útil principalmente em projetos grandes, com diversas features e escopos diferentes.

Dessa forma, informar os impactos do trecho de código nos commits auxilia em todas as etapas de desenvolvimento do projeto.

Abaixo, segue um exemplo de utilização do escopo para informar a adição de uma nova feature que atualiza os dados do usuário.

Padrões de Commits: por que utilizar? Luby Software
Adiciona uma nova feature para atualizar os dados do usuário

Descrição do commit

A descrição precisa ser o mais curta, clara e objetiva possível. O recomendado é que ela inicie com algum verbo que indique a alteração e tenha entre 4 e 6 palavras (no máximo) que descreva o que – de fato – foi alterado no projeto.

Entretanto, para descrições mais detalhadas, tente manter o padrão de 4 a 6 palavras na primeira linha e utilize o corpo do commit para descrever em maiores detalhes o que foi alterado. Abaixo segue um exemplo para ilustrar melhor.

Padrões de Commits: por que utilizar? Luby Software
Exemplos de utilização correta e incorreta da descrição de commits

Então, o exemplo acima apresenta duas maneiras de nomear a adição de uma nova feature. Assim, ambas passam o mesmo significado. Porém, a primeira é mais clara e objetiva, enquanto a segunda apresenta mais informações que não são tão relevantes.

Conclusão

Utilizar os padrões de commits no dia a dia é, sem sombra de dúvidas, necessário. Principalmente em grandes projetos, em que existem inúmeras features que, com o passar do tempo, pode acabar ficando caótico navegar na linha do tempo dos commits.

Assim, utilizar o conjunto de regras apresentadas neste artigo permitirá que tanto desenvolvedores quanto todos os demais stakeholders consigam entender em que estado do desenvolvimento a aplicação se encontra, quais features já foram implementadas e em que escopo elas afetarão.

Dessa forma, quando for fazer um novo commit, lembre-se de aplicar essas regras.

Veja também:

Como Padronizar Códigos com Style Guides

Autor: Junior Vinicius Silva.

[adrotate banner=”5″]

Rodrigo Gardin

Rodrigo Gardin

CTO da Luby

Gostou do conteúdo? Compartilhe

Últimos posts

Fique por dentro das últimas novidades do mundo da tecnologia com os conteúdos do nosso blog!

Acelere a Transformação Digital da sua Empresa

Basta preencher este formulário ou ligar para +55 11 3055 3404

Fale conosco​

Technology Intelligence

Luby - Latin America

Rua Amália de Noronha, nº 151, 3º Andar, Sala 303
Pinheiros, São Paulo – SP – Brasil
CEP: 05410-010

Luby - North America

1110 Brickell Avenue
Suite 310
Miami – FL
United States

AWS certifications - AWS Partner
AWS certifications - Solutions Architect
Azure logo - Certifications Luby
Google Cloud Partner logo, a symbol of Luby's certifications and recognitions collaboration with Google.
Copyright ©2024 Luby Software LLC. All rights reserved.
Rolar para cima