Poiché il titolo spiega la domanda, supponiamo di utilizzare la versione come major.minor.revision.build
. Quale dovrebbe essere la versione iniziale di una versione del software? 0.0.0.1
o 0.0.0.0
o altro?
Primo build ? 0.0.0.0. Poiché creerai e proverai il tuo codice molte volte prima di raggiungere il punto su cui hai inserito una versione.
Ma ora ho intenzione di smettere di fare il pignolo e suppongo che intendi il primo rilascio . Quindi - dipende:
Il numero di build è ### perché dipende da come si costruiscono i numeri - ci sono diversi modi per fare ciò che acquistano tendono ad essere molto semplici senza molto spazio per le decisioni (come timestamp o numero incrementato) quindi basta attenersi le regole per il numero di build.
La revisione / bugfix è 0 - perché è la prima versione.
Aumentare una versione principale significa che si sta superando la retrocompatibilità (almeno secondo SemVer ), quindi di solito si inizia con 0 - che è speciale perché significa che non si garantisce ancora la compatibilità con le versioni precedenti. E hai impostato la versione secondaria su 1 in modo che la tua versione non sia 0.0.0. ###. Questo è positivo per le prime versioni, perché una volta che il software è stato testato e ricevuto un feedback, è possibile che alcune delle decisioni di progettazione siano state sbagliate (o anche solo "non abbastanza corrette") e che sia necessario introdurre alcune interruzioni. modifiche: essere alla versione principale 0 ti consentirà di farlo senza troppi complimenti.
Se decidi di promettere la compatibilità con le versioni precedenti dalla prima versione, imposta la versione principale su 1 e la versione secondaria su 0 perché questa è la versione secondaria iniziale per una nuova versione principale. Devi avere una buona ragione per farlo, perché ciò significa che dovrai aumentare una versione principale ad ogni cambio di rottura, e un progetto di un mese con la versione principale di 23 sembra abbastanza allarmante.
È totalmente arbitrario. L'unica regola è che i numeri di versione dovrebbero salire. Ciò che inizia e quando sali su livelli diversi può dipendere da come si sente il team, nuove funzionalità, quanto è stato testato tutto ciò che la concorrenza chiama il loro prodotto. O il grado di automazione coinvolto. Il tuo sistema CI può essere configurato per eseguire il bump up dei numeri automaticamente con push / check-in e tagging / etichettatura / pinning.
Non vorrei perdere il sonno su di esso.
Leggi altre domande sui tag versioning semantic-versioning