Isso é algo que você terá que examinar de dois ângulos diferentes, pois precisa levar em conta as necessidades do usuário e as do software e desenvolvedores.
Em geral, seus clientes não se importarão muito com o número de versão do software, desde que saibam que estão executando algo mais recente (por exemplo, o Produto 2012 é mais recente que o Produto 2010) e que eles sabem disso está atualizado se houver patches que possam ser implantados (por exemplo, Produto 2012, Atualização 10). Como tal, do ponto de vista da marca do cliente, costumo preferir uma versão nomeada (por exemplo, Windows XP, Windows Vista) seguida por um número de sequência estrito de patches que podem ser instalados pelos usuários.
No entanto, escrever um software que verifique as coisas fáceis para o usuário tende a tornar o código muito mais difícil de escrever. Portanto, eu tendem a preferir o Major.Minor
esquema de versão simples , apenas porque você pode fazer uma comparação simples de números para verificar se algo está atualizado, como a seguir:
// Check to see if we can handle the file version
if (this.Version < fileVersion) {
throw new UnsupportedFileException("The file version is " + fileVersion.toString() + " which is not supported");
}
// Do stuff ...
Para colocar isso em um pouco de contexto, geralmente não me importo com o tamanho do número menor (isto é, 1.1024), o que permite que o sistema acima continue funcionando com êxito. Geralmente, os números de revisão são de interesse apenas para o desenvolvimento interno e eu realmente nem os vi afetar coisas muito além de apenas fornecer um número adicional para acompanhar.
No entanto, os dois esquemas acima realmente não se aplicam apenas a ambientes em que a implantação contínua está sendo usada (ou seja, Stack Exchange), que é onde eu tendem a preferir algum tipo de data seguida por um número de revisão, como parece ser usado no Stack Exchange sites. O motivo para isso é que as versões mudam com muita frequência no ambiente de implantação contínua e você pode ter várias versões do código ativadas no mesmo dia, o que justifica o número da revisão e a data atual é tão boa quanto qualquer outra para resolver problemas. ainda mais. Em teoria, você pode usar o número da revisão para tudo, mas o uso da data atual permite acompanhar internamente os principais marcos que podem facilitar a discussão.