Skip to content

Versionamento Semântico

Lorenzo O. Zimbres edited this page Jun 7, 2024 · 2 revisions

Commits deverão seguir a convenção de mensagens semânticas "Conventional Commits"

SINTAXE

[<tipo>][<escopo opcional>] <descrição resumida>

<Corpo opcional>

<Rodapé opcional>

TIPO

O tipo consiste no substantivo que define a alteração realizada, dentro do commit.

[fix][test] Adiciona teste para cálculo x

ESCOPO

Consiste em um substantivo opcional que descreve uma seção da base de código alterada entre colchetes.

[fix][test] Adiciona teste para cálculo x

SUBSTANTIVOS DESCRITIVOS

SUBSTANTIVO DEFINIÇÃO
feat Adicionada nova funcionalidade ou melhoria.
fix Corrigido um bug ou problema existente.
test Adicionado ou modificado testes.
docs Alterações relacionadas a documentações.
refactor Mudanças de melhorias na estrutura do código, essas mudanças não afetam as regras de aplicação ou de negócio do projeto.
chore Atualizações que não afetam o código-fonte ou testes, como tarefas de construção, configurações, etc.
style Alterações relacionadas a formatação de código, espaçamento, indentação, etc.
perf Melhorias de desempenho no código.
ci Alterações nos arquivos de configuração e scripts CI (Continuous Integration)

DESCRIÇÃO

Consiste no texto que explique de forma resumida as alterações realizadas no commit. É recomendado escrever a mensagem usando verbos no tempo passado e na voz passiva.

[fix][test] Testes adicionados para casos x

CORPO

O corpo pode ser utilizado para fornecer uma descrição mais detalhada das mudanças realizadas no commit, incluindo informações sobre a regra de negócio, bugs corrigidos, GUI's e assim por diante.

É necessário haver uma LINHA LIMPA entre o cabeçalho e o corpo.

[fix][test] nova classe de test para xxxDAO

Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c

RODAPÉ

O corpo também pode ser utilizado para incluir notas de rodapé sobre o commit, como informações adicionais sobre as mudanças realizadas, links para documentação ou outros recursos relevantes, agradecimentos a membros da equipe ou contribuidores externos e assim por diante.

Breaking change: indica que uma mudança realizada no código é incompatível com versões anteriores do sistema.
Revisores: indica os responsaveis por realizar code reviewew.
Referencia: indica o número da issue aberta que motivou a mudança

[fix][test] Nova classe de test para xxxDAO

Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c

Co-authored-by: Colega A <colegaA@gmail.com>
Reviwed-by: Colega B <colegaB@gmail.com>

BREAKING CHANGE

Uma Breaking Change (Mudança que Gera Incompatibilidade) é uma alteração em um software que não é retrocompatível com versões anteriores e pode quebrar a funcionalidade existente ou causar erros em sistemas que dependem dessa funcionalidade. No contexto de commits e versionamento de software, uma breaking change é uma mudança significativa que exige atenção especial ao comunicar essas alterações aos usuários, desenvolvedores e à equipe.

A notificação de uma breaking change é crucial para manter a transparência e garantir que os usuários saibam que a atualização pode afetar negativamente seus sistemas. No padrão "Conventional Commits", você pode sinalizar uma breaking change de forma explícita usando o prefixo BREAKING CHANGE: no corpo da mensagem de commit e adicionando o caracter ! após o tipo do commit.

[fix][test]! nova classe de test para xxxDAO

BREAKING CHANGE: Nova classe x adicionada pode afetar versões x.x ou anteriores.

Foi criada uma nova classe de teste para xxxDAO
- Testa o método x()
- Casos de teste
- Data x | id_produto y | Loja z
- Data a | id_produto b | Loja c

Co-authored-by: Colega A <colegaA@ gmail.com>
Reviwed-by: Colega B <colegaB@ gmail.com>

Clone this wiki locally