Database
 sql >> Base de Dados >  >> RDS >> Database

Convenção de nomenclatura de ramificação do Git:práticas recomendadas


O Git oferece estratégias de ramificação flexíveis, mas o que isso significa? Em palavras simples, uma estratégia de ramificação é um conjunto de regras, uma convenção que ajuda equipes e desenvolvedores – eles podem seguir essas regras e convenções para criar uma nova ramificação, seu fluxo, etc.

Não usar convenções de nomenclatura apropriadas gera confusão e complica a equipe de manutenção de código. Não podemos ignorar as práticas recomendadas do Git em convenções de nomenclatura de ramificação.

As estratégias de ramificação do Git permitem a separação do trabalho. De maneira geral, podemos dividir os branches do Git em duas categorias:Branches Regulares e Temporários.

Ramos Git regulares


Essas ramificações estarão disponíveis em seu repositório em bases permanentes. Sua convenção de nomenclatura é simples e direta.
  • Desenvolvimento (dev ) é o principal ramo de desenvolvimento. A ideia do dev branch é fazer alterações nele e restringir os desenvolvedores de fazer qualquer alteração diretamente no branch master. As alterações no branch dev passam por revisões e, após o teste, são mescladas com o branch master.
  • Mestre (mestre ) é o branch padrão disponível no repositório Git. Deve ser estável o tempo todo e não permitirá nenhum check-in direto. Você só pode mesclá-lo após a revisão do código. Todos os membros da equipe são responsáveis ​​por manter o master estável e atualizado.
  • QA (QA ), ou ramificação de teste, contém todo o código para testes de controle de qualidade e testes de automação de todas as alterações implementadas. Antes que qualquer alteração vá para o ambiente de produção, ela deve passar pelo teste de controle de qualidade para obter uma base de código estável.

Ramos temporários do Git


Como o nome indica, essas são as ramificações que podem ser criadas e excluídas quando necessário. Eles podem ser os seguintes:
  • Correção de bug
  • Hot Fix
  • Ramos de recursos
  • Ramos experimentais
  • filiais WIP

Existem muitos formatos e convenções de nomenclatura recomendados por especialistas para ramificações temporárias.

Aqui está um fluxo de trabalho simples de ramificações do Git.

Convenção de nomenclatura de ramificação do Git


Neste artigo, revisarei e compartilharei as sete melhores convenções de nomenclatura que usei pessoalmente no passado para garantir sua eficiência.

1. Inicie o nome da ramificação com uma palavra de grupo


É uma das melhores práticas. A palavra do grupo pode ser qualquer coisa para corresponder ao seu fluxo de trabalho.

Eu gosto de palavras curtas como as seguintes:

Erro – O bug que precisa ser corrigido em breve

WIP – O trabalho está em andamento, e estou ciente de que não terminará em breve

Observando o nome da ramificação, você pode entender do que se trata essa ramificação do Git e sua finalidade.

Dê uma olhada nos exemplos abaixo:
  • bug-logo-alignment-issue – o desenvolvedor está tentando corrigir o problema de alinhamento do logotipo;
  • wip-ioc-container-added – a ramificação está relacionada à tarefa de adicionar um contêiner IoC em andamento.

2. Use o ID exclusivo em nomes de ramificações


Você pode usar o ID do rastreador de problemas no nome do seu branch. Eu prefiro esse método quando trabalho na correção de alguns bugs. Por exemplo:

wip-8712-add-testing-module

O nome mostra que a ramificação se aplica à tarefa de adicionar um módulo de teste, o ID de rastreamento do problema é 8712 e o trabalho está em andamento.

Mais uma vantagem de usar um ID de rastreamento externo no nome da filial é a possibilidade de rastrear o progresso de um sistema externo.

3. Use hífen ou barra como separadores


Muitos desenvolvedores usam barra como separador e muitos usam hífens. Qual usar – depende de você e das preferências de sua equipe.

Minha opinião é que os hífens tornam o nome mais confortável de ler, por isso é um separador adequado nos nomes dos ramos. Você pode usar barras, hífens e sublinhados. O importante é ser consistente.

Há duas vantagens principais de usar um separador no nome da ramificação:
  1. Aumenta a legibilidade e ajuda a evitar confusão;
  2. Facilita o gerenciamento, especialmente se você estiver lidando com muitas ramificações.

Exemplo 1. Nome do branch Git sem qualquer separador:

atualização de recursojqueryversãologinmodule

Exemplo 2. Ao adicionar um separador (neste caso, é um sublinhado), você torna o nome do branch Git legível:

feature_upgrade_jquery_version_login_module

4. Git Branch com nome do autor


Muitas empresas preferem adicionar os nomes dos autores aos nomes das filiais de acordo com o formato abaixo:
<author>_<branch-type>_<branch-name>

Por exemplo, rajeev.bera_feature_new-experimental-changes

Esse método permite o fácil rastreamento do trabalho e progresso de diferentes desenvolvedores com sistemas adicionais.

5. Evite usar apenas números


Alguns desenvolvedores usam apenas o ID do problema no nome da ramificação, o que não ajuda no andamento do trabalho.

Por exemplo, há um nome de filial 9912 – o que esse número mágico deve nos dizer? Isso significa apenas mais confusão e risco de erros, especialmente durante a fusão com outras ramificações do git.

6. Evite usar todas as convenções de nomenclatura simultaneamente


Misturar e combinar todas as convenções de nomenclatura de ramificações do Git não é a melhor prática. Isso só aumenta a confusão e complica os processos gerais.

Uma equipe deve decidir as convenções de nomenclatura a serem usadas no trabalho uma vez e cumpri-las. A consistência é a coisa mais crítica.

7. Evite nomes descritivos longos para branches de longa duração


A qualidade essencial de um nome de filial é que ele deve ser preciso e informativo. Vejamos novamente alguns exemplos:

wip_login_module_which_will_used_in_the_public_website
wip_login_module_which_will_used_in_the_internal_website


Lá, os nomes das ramificações são longos e detalhados. Não é necessário. Em vez disso, você pode usar a seguinte variante:

wip_feature_login_module

Este nome é curto, mas explica o propósito deste ramo.

Conclusão


O modelo de ramificação do Git é poderoso, mas você precisa gerenciar as ramificações de maneira correta e eficaz. Um dos fatores necessários é seguir as mesmas convenções por todas as equipes, particularmente – as convenções de nomenclatura para o repositório local.

Para garantir que sua equipe esteja usando as convenções acordadas, aplique os padrões. Uma das maneiras mais fáceis é usar ganchos do Git, como o gancho de pré-commit. Espero que lhe dê uma ideia sobre os modelos de ramificação do Git e sua convenção de nomenclatura.