<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Édipo Hikari</title>
    <description>The latest articles on DEV Community by Édipo Hikari (@shuhikari).</description>
    <link>https://dev.to/shuhikari</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F227338%2F755d0e52-0226-487b-a60e-177f04f5fbef.jpeg</url>
      <title>DEV Community: Édipo Hikari</title>
      <link>https://dev.to/shuhikari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shuhikari"/>
    <language>en</language>
    <item>
      <title>6 Coisas que você precisa saber ao escrever commits</title>
      <dc:creator>Édipo Hikari</dc:creator>
      <pubDate>Tue, 05 Nov 2024 08:48:04 +0000</pubDate>
      <link>https://dev.to/shuhikari/6-coisas-que-voce-precisa-saber-ao-escrever-commits-14i9</link>
      <guid>https://dev.to/shuhikari/6-coisas-que-voce-precisa-saber-ao-escrever-commits-14i9</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Como Peter Hutterer, desenvolvedor Linux, sabiamente disse: "Um bom commit mostra se um desenvolvedor é um bom colaborador".&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que se preocupar com mensagens de commit?
&lt;/h2&gt;

&lt;p&gt;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:&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Conventional Commits
&lt;/h2&gt;

&lt;p&gt;O &lt;a href="https://www.conventionalcommits.org/" rel="noopener noreferrer"&gt;Conventional Commits&lt;/a&gt; é uma especificação para adicionar significado semântico às mensagens de commit. Seguindo esta convenção, suas mensagens de commit devem seguir a estrutura:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;tipo&amp;gt;[escopo opcional]: &amp;lt;descrição&amp;gt;

[corpo opcional]

[rodapé opcional]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tipos principais:
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  Exemplo:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feat(login): adicionar autenticação com Google

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

Closes #123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Erros Comuns a Evitar
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Usar o Git como Sistema de Backup
&lt;/h3&gt;

&lt;p&gt;Evite mensagens como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"salvando trabalho"&lt;/li&gt;
&lt;li&gt;"fim do dia"&lt;/li&gt;
&lt;li&gt;"wip"&lt;/li&gt;
&lt;li&gt;"alterações diversas"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Commits Desorganizados
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Branches Privadas
&lt;/h2&gt;

&lt;p&gt;Crie branches privadas para commits temporários usando o padrão:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;private/seu-nome/feature-em-desenvolvimento
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso permite commits intermediários sem poluir o histórico principal do projeto.&lt;/p&gt;

&lt;h2&gt;
  
  
  As 6 Regras de Ouro
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Limite o Título
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Máximo de 50 caracteres&lt;/li&gt;
&lt;li&gt;Seja conciso e direto&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Separe Título e Corpo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use uma linha em branco entre o título e o corpo do commit&lt;/li&gt;
&lt;li&gt;Melhora a legibilidade&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Limite as Linhas do Corpo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Mantenha as linhas do corpo com máximo 72 caracteres&lt;/li&gt;
&lt;li&gt;Facilita a leitura em diferentes interfaces&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Use o Modo Imperativo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Escreva como se completasse a frase "Este commit vai..."&lt;/li&gt;
&lt;li&gt;Exemplo: "Adicionar função de busca" em vez de "Adicionada função de busca"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Explique o "O quê" e o "Por quê"
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Foque no que foi alterado e por qual motivo&lt;/li&gt;
&lt;li&gt;Deixe o "como" para o próprio código&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Referencie Issues
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vincule commits a issues quando relevante&lt;/li&gt;
&lt;li&gt;Use palavras-chave como "Fixes", "Closes", "Resolves"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Exemplo Prático
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feat(carrinho): implementar 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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
