Pergunta

Duplicar

Como fazer números de versão?


Olá,

Então, eu vi recentemente que Groovy foi lançado para a versão 1,6 e enquanto ouve o Java Posse Podcast eles estavam comentando como não foi muito embalado para este lançamento que deveria ter sido um 2,0 lançamento.

Isso me fez pensar. números de versão são apenas arbitrária? Eu costumava pensar que eles tinham um significado, mas eu não acho. É tudo apenas marco com base e conjunto de projeto para projeto?

Como o seu controle de sua equipe de números de versão e releases?

Agradecemos antecipadamente

Foi útil?

Solução

Distinguir entre versões para o marketing e controle de versão para uso técnico.

Para o marketing , a resposta é: "Tudo o que você quer que seus clientes a pensar" Nesse caso, um "grande nova versão" provavelmente deve ser acompanhado por um número de versão principal.

Também estar ciente de que os clientes cuidadosos vai hesitar em usar "grandes" novos lançamentos até que o tempo passou e eles já tentou fazê-lo em um ambiente de teste. Um comunicado de "mudança de construção" é percebida como tendo correções de bugs e outras pequenas coisas que não exigem muito processo para instalar.

Para uso técnico , a resposta é: "a informação que você quiser codificar para os desenvolvedores." Não há uma maneira correta de fazer isso; isso depende de seus objetivos.

Talvez um "grande" significa versão "mudanças significativas que pode significar um monte de novos bugs." Talvez um novo número de "construir" acontece em cada compilação. Talvez etiquetas nightly build por data são a sua versão. Você pode basear a tempo, ciclos Scrum, marcos, recursos, seja qual for!

Outras dicas

Eles são muito arbitrária. Muita gente gostaria de ter algo como

[major].[minor].[release].[revision]

como seu esquema de controle de versão, mas eu também estive em empresas que se recusaram a liberar um produto de marca 1.0 porque um dos VPs não queria. Marketing também pode influenciar isso.

Uma boa pergunta a fazer para aumentar a versão principal pode ser:

Se este fosse um produto pago, que os clientes pagam a atualização para esta versão?

Se assim for, pode ser bom aumento do número principal.

MajorRelease.MinorRelease.Hotfix

números

Versão são arbitrárias, mas existem algumas regras fo polegar (eu acho). Muito pequenas alterações ou correções de bugs normalmete aumentar em 0.0.1, ou seja, V1 se torna V1.0.1. Pequenas alterações à funcionalidade por aumentos 0.1.0 i.e. V1.0.1 torna-se V1.1.0. Grandes alterações ou re-escreve obter um aumento de 1.0.0, i para V2.

Dito isso, de muitas empresas parecem tentar convencer clientes algo é grande, indo até por 1.0.0 quando mudanças semelhantes foram 0.1.0. Além disso, algumas empresas que contam com contratos de suporte vai dar 0.1.0 atualizações de graça, mas cobrar por 1.0.0 atualizações.

Além disso, IIRC, alguns projectos tendem para significar experimental constrói com versões ímpares e estável aumenta à medida que os mesmo, (assim V3 é perigoso, é estável V4).

No caso de uma biblioteca, o número da versão informa sobre o nível de compatibilidade entre dois lançamentos, e, portanto, o quão difícil um upgrade será.

A necessidade de libertação correção de bug para preservar binário, fonte e compatibilidade de serialização.

Minor libera coisas significam diferentes para diferentes projetos, mas normalmente eles não precisam para preservar a compatibilidade fonte.

Principais números de versão pode quebrar todas as três formas.

Eu escrevi mais sobre a lógica aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top