Wie wollen Sie die Version Ihrer Projekte?
-
02-07-2019 - |
Frage
Ich verstehe, dass Microsoft diese Vorlage verwendet, wenn ihre Produkte Versionierung: major.minor.build.revision.
Wichtige geändert wird, wenn die „Entwickler“ zeigen wollen, dass es eine große Veränderung kann nicht angenommen werden, in der Software und die Abwärtskompatibilität ist. Vielleicht ist eine große Überarbeitung des Code.
Minor-Nummer stellt eine bedeutende Verbesserung in der Absicht, die Abwärtskompatibilität.
Build-Nummer ist eine kleine Veränderung, beispielsweise eine Neuübersetzung von der gleichen Quelle.
Revision wird verwendet, um eine Sicherheitslücke zu beheben und soll vollständig austauschbar sein. Sowohl Build- und Revisions sind optional. Diese Information basiert auf MSDN Version Klasse .
Wie Sie die Version Ihrer Projekte und warum tun Sie Version sie auf diese Weise?
Lösung
Wir tun major.minor im Allgemeinen [.maintenance [.build]], wo ich arbeite, aber es scheint ein wenig pro Projekt zu variieren.
Wichtige / Moll das gleiche wie Sie erwähnt. Wartung würde für kleines (Bug) Fixes und baut für jedes Mal erhöht werden, der Build-Server ausgeführt wird.
Andere Tipps
Sehen Sie diese: SO Versionsnummer Frage
Ich persönlich mag ein Schema verwenden, die auf der Ebene der Abwärtskompatibilität konzentriert sich die Benutzer des Projekts / Produkt erwarten:
Vor 1.0:
- 0.0.1 = Erste Veröffentlichung
- 0 .-. X = Rückwärts kompatibel Update
- 0.X.0 = rückwärtsinkompatible update
Nach 1,0:
- -.-. X = Update ohne Änderungen an der Benutzeroberfläche
- -. X.0 = Update mit rückwärts kompatible Schnittstelle Ergänzungen
- X.0.0 = rückwärtsinkompatible update
Mit Kompatibilität als der zentrale Punkt in der Versionsnummer macht es für Benutzer einfacher, vor allem, wenn te Produkt ist eine Bibliothek, um zu beurteilen, ob sie eine smoothe erwarten können und sicher Upgrade oder nicht.
Ich sehe oft Xyz, wobei X das Jahr nach Release-Nummer ist und yz ist der Monat des Jahres. D. h 201 ist der Januar, 2 Jahre nach der Entlassung. D. h wenn das Produkt Mai startet, ist es erste Release-Nummer ist 105. Veröffentlichung im Februar nächstes Jahr ist 202
Wir in der Regel Version unserer Projekte auf Basis der aktuellen Release-Datum, YYYY.MM.DD. *, und wir lassen Sie erzeugen die Build-Nummer automatisch, so zum Beispiel, wenn wir heute Release hatte, es wäre 2008.9.26.BUILD .
Ich benutze major.minor.point.revision, wo der Punkt ist ein Bugfix-Release nur und Revision ist die Repository-Revision. Es ist einfach und funktioniert gut.
Ich arbeite auf eine Menge von kleineren Projekten, und ich gefunden habe persönlich diese nützlich.
PatchNumber.DateMonthYear
Dies ist für kleine Web-basierten Tools, wo die Benutzer können sehen, wann das letzte Update und wie oft hat es aktualisiert.
PatchNumber ist die Anzahl der Meldungen, die der Rest verwendet wird getan wurde, um die Benutzer zu zeigen, wenn diese veröffentlicht wurde.
Major.minor.patch.build mit Patch-Version der Hotfix oder Patch zu sein.
Wenn Sie QA erhalten können, um durch und sind auf SVN, könnten Sie die SVN HEAD-Revision als Build-Nummer verwenden. Auf diese Weise beschreibt jeder bauen, wo es aus in Bezug auf die Quellcodeverwaltung kam und was ist im Build. Dies bedeutet, dass Sie werden Builds, dass mit Lücken steigen (1.0.0.1, 1.0.0.34 ....)
Major.Minor.BugFix.SVNRevision
z: 3.5.2.31578
- Die SVN Revision gibt Ihnen den genauen Frieden von Code an den Kunden gesendet. Sie sind absolut sicher, ob das Bugfix war oder nicht.
- Es hilft auch, die richtige PDB bei der Suche nach Ihnen einen Anwendungsfehler haben. passen Sie die SVN Revisionen auf dem Build-Server, kopieren Sie die PDB zu EXE Lage, öffnen Sie den Debugger und Sie haben den Absturz Stack-Trace.
ich major.minor gerade. Da ich einen einzelnen Entwickler (mit gelegentlicher Hilfe) arbeite an einem Web-App der meisten Menschen nicht weniger können ich kümmern sich um die kleineren Korrekturen, die ich mache. Also ich iterieren bis gerade die kleineren Versionen, wie ich in neuen Funktionen und Hauptversionsnummern setzen, wenn ich einige Whopper einer Änderung / Upgrade machen. Ansonsten habe ich einfach ignorieren die kleinen Korrekturen bis Versionsnummern gehen (obwohl ich Subversion Revisionsnummern zu tun haben, wenn ich für mich selbst müssen zurückgreifen).
Ich habe nur eine Nummer. Erste Veröffentlichung ist 001
. Zweite Veröffentlichung der dritte Beta ist 002b3
, und so weiter. Dies ist nur für den persönlichen Sachen Geist, ich eigentlich nichts haben ‚freigegeben‘ im Moment, so ist das alles Theorie.
Ich begann ein pseudo-ähnliches Format wie Ubuntu: Y.MMDD
Dies hilft, für ein paar Gründe:
- es ist einfacher für die Version Anforderungen zu überprüfen. if (Version <8,0901) des / Ausgang / etc ;
- Sie können in Ihrem Build-Prozess automatisch generiert werden
An diesem zweiten Punkt (Rubin & Harke):
def serial(t)
t = Time.now.utc if not t.instance_of?(Time)
t.strftime("%Y").to_i - 2000 + t.strftime("0.%m%d").to_f
end
serial(Time.now) #=> 8.0926
serial(Time.now.utc) #=> 8.0927
Hinweis: t.strftime ( "% Y% m% d") to_f - 2000 läuft in Gleitkomma-Ungenauigkeiten. 8,09269999999992
habe ich von Versionierung ihre Clipper Compiler in den 80er Jahren die Nantucket Art und Weise zu mögen:
Clipper Winter-1984
Clipper Sommer 1985
Clipper Winter-1985
Clipper Herbst 1986
Clipper Sommer 1987
Oh und Overlays ....
[bekommt Tränen in den Augen]