Executando verificação de segurança...
33

6 coisas que você precisa saber pro seu repositório te ajudar e não te confundir

Introdução

No desenvolvimento de software, a forma como documentamos nossas alterações no código é tão importante quanto o próprio código. Mensagens de commit bem escritas são fundamentais para manter um histórico claro e compreensível do projeto, facilitando a colaboração entre desenvolvedores e a manutenção futura do código.

Como Peter Hutterer, desenvolvedor Linux, sabiamente disse: "Um bom commit mostra se um desenvolvedor é um bom colaborador".

Por que se preocupar com mensagens de commit?

As mensagens de commit são mais do que simples anotações - são documentos históricos que contam a evolução do seu projeto. Um commit bem escrito:

  • Facilita a compreensão das mudanças realizadas
  • Auxilia na identificação de bugs
  • Melhora a colaboração entre membros da equipe
  • Serve como documentação para futuras referências
  • Automatiza processos de release e changelog

Conventional Commits

O Conventional Commits é uma especificação para adicionar significado semântico às mensagens de commit. Seguindo esta convenção, suas mensagens de commit devem seguir a estrutura:

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

[corpo opcional]

[rodapé opcional]

Tipos principais:

  • feat: - nova funcionalidade
  • fix: - correção de bug
  • docs: - alterações na documentação
  • style: - formatação, ponto e vírgula faltando, etc
  • refactor: - refatoração de código
  • test: - adição ou correção de testes
  • chore: - atualizações de tarefas de build, configurações, etc

Exemplo:

feat(login): adiciona autenticação com Google

Implementa o botão de login social usando OAuth2 do Google
para facilitar o acesso dos usuários.

Closes #123

Erros Comuns a Evitar

1. Usar o Git como Sistema de Backup

Evite mensagens como:

  • "salvando trabalho"
  • "fim do dia"
  • "wip"
  • "alterações diversas"

2. Commits Desorganizados

Mantenha alterações relacionadas juntas. Por exemplo, ao trabalhar em uma feature que afeta múltiplos arquivos, faça um único commit que englobe todas as alterações relacionadas.

Branches Privadas

Crie branches privadas para commits temporários usando o padrão:

private/seu-nome/feature-em-desenvolvimento

Isso permite commits intermediários sem poluir o histórico principal do projeto.

As 6 Regras de Ouro

1. Limite o Título

  • Máximo de 50 caracteres
  • Seja conciso e direto

2. Separe Título e Corpo

  • Use uma linha em branco entre o título e o corpo do commit
  • Melhora a legibilidade

3. Limite as Linhas do Corpo

  • Mantenha as linhas do corpo com máximo 72 caracteres
  • Facilita a leitura em diferentes interfaces

4. Use o Modo Imperativo

  • Escreva como se completasse a frase "Este commit vai..."
  • Exemplo: "Adicionar função de busca" em vez de "Adicionada função de busca"

5. Explique o "O quê" e o "Por quê"

  • Foque no que foi alterado e por qual motivo
  • Deixe o "como" para o próprio código

6. Referencie Issues

  • Vincule commits a issues quando relevante
  • Use palavras-chave como "Fixes", "Closes", "Resolves"

Exemplo Prático

feat(carrinho): implementa cálculo automático de frete

- Adiciona integração com API dos Correios
- Implementa cache de 15 minutos para consultas
- Adiciona validação de CEP

Resolve o problema de cálculo manual de frete que causava
erros frequentes no checkout.

Closes #456

Conclusão

Mensagens de commit bem escritas são um investimento no futuro do seu projeto. A adoção do Conventional Commits junto com as boas práticas apresentadas torna o desenvolvimento mais profissional e eficiente. Lembre-se: cada commit conta uma história - faça com que essa história seja clara e útil para todos.

Edit: Uso do imperativo na 2ª pessoa do singular, ao invés de infinitivo como estava nos exemplos. Credits ao lemuelroberto pelo toque

Carregando publicação patrocinada...
4

Tema muito bom. Parabéns pelo conteúdo.

Vou adicionar à discussão, e advogar pelo uso do imperativo afirmativo na 2ª pessoa do singular, principalmente no título, quando a mensagem estiver em português.

A partir do seu exemplo, substituiríamos 'implementar' que está no infinitivo, por 'implementa' que está no imperativo afirmativo. Para mais detalhes, ver referência no dicionário de conjugação.

Ao utilizar o verbo no imperativo afirmativo passamos uma mensagem mais clara, objetiva e utilizamos menos caracteres, o que é super relevante nesse contexto pois com a limitação de 52 caracteres e o prefixo, restam poucos carcteres para o conteúdo efetivo do título.

E agora com o ChatGPT ficou super fácil de adequar essas mensagens 😅

2
2

Gosto muito de Conventional Commits por que ele clareiam muito o que você está fazendo além de ajudar a se policiar de não fazer um god commit.
Muito bom o artigo.