Ich habe in der Schule kein Programmieren gelernt und arbeite nicht als (professioneller) Entwickler, daher sind mir viele Grundlagen nicht ganz klar. Diese Frage versucht, einen von ihnen zu klären.
Nun nehmen wir an , dass ich Probleme haben #1
, #2
und #3
in meiner Probleme Tracker , die für Version korrigiert / verbessert werden eingestellt werden 1.0.0
und dass die letzte (stable) Version ist 0.9.0
.
Wann sollte ich auf die Version aufrüsten 1.0.0
? Wann ist a) nur eines der oben aufgeführten Probleme geschlossen oder b) wenn alle Probleme in Bezug auf die Version 1.0
geschlossen sind?
Welches ist der richtige Weg, um es zu tun? Und mit dem richtigen Weg meine ich, was derzeit in der Industrie verwendet wird.
Antworten:
Ich kann Ihnen sagen, wie ich es bei der Arbeit mache.
Wir haben einen kontinuierlichen Integrationsserver, der ein versioniertes Paket erstellt, testet, markiert und ausgibt. Wir fahren nur mit der nächsten Stufe fort, wenn die vorherige% 100 erfolgreich ist.
Unsere Version sieht folgendermaßen aus: <Hauptversion>. <Nebenversion>. <Build-Nummer>
quelle
1.4.2
"dieser Satz von Fixes und alles andere zu dieser Zeit fertig ist" ... Ich habe auch gesehen,1.4.2
wie "Dies wird an diesem Datum mit allem, was fertig ist, veröffentlicht werden". Es hängt von Ihrem Release-Zyklus ab.Versionsnummern sind nur für Releases relevant , da sie externen Benutzern die Identifizierung eines bestimmten Builds Ihrer Software ermöglichen. Wenn Sie nur mit der Entwicklung beschäftigt sind und nicht jeden Fix einzeln veröffentlichen, müssen Sie sich keine Gedanken darüber machen, die Versionsnummer für jeden Fix zu erhöhen. Es ist nicht relevant für externe Benutzer und verschwendet Ihre eigene Zeit mit der zusätzlichen Buchhaltung von Versionen.
quelle
Für kontinuierlich implementierte Webanwendungen neigen wir dazu, Build-Nummern mit Symver im Voraus und einem Build-Nummern-Tailing zu konstruieren, dh: 2.5.3.4328, wobei 4328 aus dem System für kontinuierliche Integration stammt. Es wird allgemein erwartet, dass sich die Nummern in absichtlichen Schritten ändern, die Build-Nummer jedoch die wahre eindeutige ID ist.
Anscheinend wird hier der Tag der Bereitstellung und die zugehörige SVN-Build-Nummer erfasst:
Für was es wert ist.
quelle
Die anderen Antworten sind bereits großartig, deshalb werde ich sie nur noch hinzufügen. Wenn Ihre Software nicht freigegeben ist und Sie keine öffentliche Versionierung benötigen (die nicht öffentliche Versionierung ist Ihr VCS), hängen Sie das Schlüsselwort " SNAPSHOT " am Ende Ihrer Version an. Einige Systeme, insbesondere im Abhängigkeitsmanagement, behandeln Snapshots anders als freigegebene Versionen, indem sie das Änderungsdatum der Snapshots anstelle der Versionsnummer vergleichen. Wenn Sie also ein v. 1.0.0-SNAPSHOT von 8 Uhr morgens in einem Paketrepo hatten und ein lokaler Abhängigkeits-Downloader dieselbe Version von 7 Uhr morgens hat, sollte er die aktualisierte Version aus dem Repo herunterladen.
Wie oben erwähnt, wird Ihre private Versionierung von Ihrem Versionskontrollsystem (git, svn usw.) bereitgestellt.
quelle
Es ist genug über die Theorie der Versionierung gesagt, hier ist ein anderer Gesichtspunkt.
Ich werde meine Antwort auf die Änderung der Hauptversionsnummer konzentrieren.
Meine Antwort lautet: Grundsätzlich, wenn Sie dazu bereit sind. Es ist eine große Sache, von 0,9 auf 1,0 zu wechseln, da die öffentliche Wahrnehmung sein wird, dass Sie von einem Beta-Produkt zu einer offiziellen Veröffentlichung übergehen.
(Ich gehe davon aus, dass es sich hier um ein kommerzielles Produkt einer Firma handelt.)
Ein paar Fragen, bevor es von 0.9 auf 1.0 geht.
Hat Ihre Organisation die Zeit, alle Ihre aktuellen Kunden zu informieren? Eine Party schmeißen. Erhalten Sie viele Supportanfragen. Ein Kundenbetreuer, der Ihr Produkt verkauft? Etc. etc.
Ja, ich sehe die Versionierung als Marketing-Tool und wenn Sie sich umschauen, sehen Sie, dass dies im Grunde der Industriestandard ist.
Unsere Firma ist von Version 2.x auf 3.0 übergegangen und hatte eine großartige Party, hat viel Aufsehen erregt und dadurch einige neue Kunden gewonnen. Abgesehen von einigen Schnittstellenaktualisierungen waren die Unterschiede zwischen den Versionen recht gering.
quelle