Controle de versão semântica: o que é, não é e por que você precisa dele
Publicados: 2019-05-20A maior parte do software que você usa lança novas versões com freqüência, geralmente identificadas por um número de versão associado. O sistema é chamado de 'controle de versão semântico' e permite que você acompanhe o progresso do desenvolvimento. Além do mais, se você trabalha com o WordPress, você pode definitivamente se beneficiar de boas práticas de controle de versão semântica.
Neste artigo, daremos uma introdução rápida ao sistema de controle de versão semântico e como ele funciona. Em seguida, falaremos sobre quem pode se beneficiar com seu uso e daremos algumas dicas para garantir que você faça isso da maneira certa.
Vamos falar de números!
O que é o versionamento semântico
Se você acessar a página de download do WordPress.org, notará que ele informa qual versão do Sistema de gerenciamento de conteúdo (CMS) você está baixando:

O sistema usado para determinar esse número é chamado de 'controle de versão'. Mais especificamente, você está vendo um exemplo de controle de versão semântico, em que o lançamento é dividido em três números separados por pontos. Vamos revisar o que cada um desses valores representa:
- A versão de lançamento principal, que se correlaciona com as mudanças na API.
- Pequenas atualizações do software, não significativas o suficiente para justificar uma grande atualização.
- Patches ou correções de bugs.
No momento em que este artigo foi escrito, estamos usando a versão 5.1.1 do WordPress. A versão 5.0.0 foi lançada em 6 de dezembro de 2018. Desde então, tivemos cinco patches menores (incrementos no número final) e um lançamento menor, nesta ordem:
- 5.0.1
- 5.0.2
- 5.0.3
- 5.0.4
- 5,1
- 5.1.1
Como você pode ver, o número do patch é redefinido toda vez que há uma pequena atualização. O mesmo se aplica quando há um grande lançamento, o que tradicionalmente acontece a cada quatro meses quando se trata de WordPress.
O objetivo por trás do controle de versão semântico é permitir que você acompanhe todas as mudanças e o progresso que fizer. Além do mais, se você é um usuário final e acompanha os lançamentos, os números da versão informam quando é realmente importante atualizar. Por exemplo, você pode pular um patch de bug ou dois, mas sempre que houver uma versão secundária ou principal, você deve atualizar (estamos observando, você sabe!).
Se você não tem certeza se a atualização vale a pena, simplesmente verifique o changelog que vem com cada versão. Cada desenvolvedor que se preze irá publicar um registro escrito das novidades a cada lançamento.
No geral, o controle de versão semântico é bastante direto e útil em muitas situações além do desenvolvimento de software. Vamos conversar sobre o que são.
Quem pode se beneficiar com o uso do controle de versão semântico
Normalmente, você descobrirá que são os desenvolvedores que usam sistemas de controle de versão. Quanto ao WordPress, os exemplos mais óbvios são as atualizações do próprio núcleo. No entanto, os desenvolvedores de plugins e temas também usam versões semânticas, embora os números sejam geralmente difíceis de encontrar. Por exemplo, se você verificar uma página de plug-in no WordPress.org, poderá encontrar informações sobre seus lançamentos e changelogs na guia Desenvolvimento :

Da mesma forma, você pode encontrar informações sobre o desenvolvimento de um tema nas páginas associadas do WordPress.org. No entanto, neste caso, você deve clicar no link Log de desenvolvimento na parte inferior da página:

Resumindo, você pode usar o controle de versão semântico para praticamente qualquer tipo de projeto que envolva código. No entanto, ele também possui aplicativos fora do desenvolvimento direto. Por exemplo, você pode aplicar o controle de versão a projetos de design. Aqui, você pode aumentar o número da versão para mudanças visuais importantes, o valor para adições de novos elementos ou pequenos ajustes. No que diz respeito aos patches, você pode reservá-los para pequenas atualizações visuais ou correções.
No entanto, o controle de versão semântico pode ser o jogo mais popular da cidade, mas não é o único sistema que você pode usar. Por exemplo, o navegador Chrome usa um sistema de versão de quatro seções - major.minor.build.patch .
Outros projetos, como o Ubuntu, usam sistemas construídos em torno de datas. Por exemplo, o Ubuntu está atualmente na versão 19.04, que, como você deve ter adivinhado, foi lançada em abril de 2019.

No geral, não existe um único sistema de controle de versão que se encaixe perfeitamente em qualquer tipo de projeto. No entanto, o versionamento semântico é uma ótima opção se você trabalha com desenvolvimento de software de qualquer tipo. Além disso, é uma ótima introdução se você ainda não estiver usando nenhum tipo de protocolo de controle de versão.
3 melhores práticas para controle de versão semântica
Agora, você já tem uma ideia de como funciona o controle de versão semântico. No entanto, vamos revisar algumas dicas para ter certeza de que você o usa da maneira certa.
1. Não comece com a versão 1.0 imediatamente
Em algum momento, você provavelmente já usou um software que ainda não atingiu a versão 1.0. Isso é completamente normal, já que os usuários esperam que a versão 1.0.0 seja relativamente estável e livre de bugs. No entanto, também leva a situações em que o software leva muito tempo para atingir esse número, embora ainda seja totalmente utilizável.
Veja o popular jogo de PC Dwarf Fortress, por exemplo. Ele está em desenvolvimento há cerca de 15 anos e ainda está na versão 0.44.12, apesar de incluir mais recursos do que a maioria dos jogos principais.

Embora você possa ir a extremos com isso, não faz sentido começar com a versão 1.0.0 imediatamente. Ele permite que você faça um teste beta de seu software e modere as expectativas do usuário enquanto o faz.
Internamente, você deve começar com a versão 0.1.0. No entanto, a maioria dos projetos não torna essa versão pública, esperando, em vez disso, ter um pouco mais de desenvolvimento em seu currículo. Enquanto isso, você pode usar essas versões alfa muito limitadas para testes internos, o que é fundamental para o desenvolvimento saudável de qualquer projeto.
2. Explique as mudanças específicas para cada nova versão
Uma das situações mais irritantes que você pode encontrar como usuário final é receber uma tonelada de atualizações sem saber o que qualquer uma delas faz. Sabemos que a maioria das pessoas não lê changelogs, mas se você vai lançar uma atualização - mesmo que seja apenas um pequeno patch - você precisa documentá-la.

Changelogs, como o nome indica, são uma análise simples do que há de novo em cada lançamento. Alguns desenvolvedores escrevem atualizações extensas para explicar cada mudança e se você for um deles, mais poder para você.
Para ser honesto, normalmente ficamos contentes com uma lista simples e concisa de novidades. Montar um changelog é simples e não deve demorar muito, então seja legal e não economize em suas tarefas!
3. Reúna o feedback do usuário para cada versão
Você provavelmente tem uma boa ideia de como deseja que seu projeto acabado se pareça. No entanto, isso não significa que você pode dispensar o feedback dos usuários ou do restante de sua equipe.
O ideal é que você obtenha algum nível de feedback para cada versão lançada, exceto pequenos patches e correções de bugs. O objetivo deste processo é avisar se os usuários estão enfrentando algum problema ou tendo problemas com a direção que o projeto está tomando.
O exemplo mais fácil desse processo em ação seria compartilhar a versão mais recente de um site em andamento com o cliente. Na grande maioria dos casos, os clientes terão algum nível de feedback para você, que você pode incorporar em versões futuras.
Porém, lembre-se - ouvir o feedback é importante, mas, em alguns casos, você pode saber mais do que seus usuários. No entanto, isso não significa que você deve ignorá-los, mas às vezes seu instinto pode estar certo.
Conclusão
O versionamento semântico é um sistema extremamente simples. Com apenas alguns números, você pode transmitir muitas informações sobre o progresso de desenvolvimento do seu projeto, avisar aos usuários quando há novas atualizações importantes e, geralmente, manter tudo organizado.
Vamos recapitular três das melhores práticas que você precisa ter em mente para o controle de versão semântico:
- Não comece com a primeira versão fora do portão.
- Explique as mudanças específicas para cada nova versão.
- Reúna o feedback do usuário para cada versão.
Você tem alguma dúvida sobre como usar o controle de versão semântico? Pergunte na seção de comentários abaixo!
Imagem em miniatura do artigo por fatmawati achmad zaenuri / shutterstock.com
