Gibt es einen Standard für die Benennung von Plugin-Versionen?

7

Mein Geschäftspartner und ich entwickeln mehrere Plugins und wir möchten wissen, ob es einen Standard für die Versionsnummer eines Plugins gibt, wenn Updates vorliegen, dh Version 1.0, Version 1.2, Version 1.2.3 usw.?

Vielen Dank für jeden Rat.

Steve O'Sullivan
quelle

Antworten:

10

Nein, es gibt keinen Standard. Sie können sogar Namen, römische Ziffern oder was auch immer verwenden, aber ich würde es nicht empfehlen.

Die meisten Autoren verwenden die semantische Versionierung : Major.Minor.Patch.

Dies hat mehrere Nachteile:

  • Benutzer haben Angst vor „großen Veränderungen“. Upgrades für eine neue Version mit einer Änderung im ersten Teil ( Major) werden häufig verzögert oder Benutzer warten auf das erste „Service Pack“ (2.0.1).
  • Entwickler sind sich manchmal nicht sicher, wann sie welches Teil ändern sollen. Was ist wichtig? Eine große Codeänderung hat möglicherweise nur geringe Auswirkungen auf die Benutzererfahrung.
  • Die Länge einer Versionsnummer ist nicht vorhersehbar. 1.2.3vs. 2.12.123. Keine große Sache, aber nicht ideal.

In der Praxis ist die semantische Versionierung nicht so semantisch.

Ich bevorzuge das Datum als Versionsnummer:2012.11.19

  • Änderungen in der ersten Nummer hängen offensichtlich nicht mit „großen Änderungen“ im Programm zusammen.
  • Nein 0am Ende. Noch nie. :) :)
  • Immer die gleiche Länge (außer wenn Sie mehr als eine Version pro Tag haben).
  • Kompatibel mit version_compare()- dies könnte als Standard angesehen werden .

Literatur-Empfehlungen:

Beide Schemata funktionieren. Der Unterschied liegt hauptsächlich in der Benutzererfahrung.

Fuxia
quelle
1
+1 für Datum. Sehr bevorzugt gegenüber major.minor.patchdem letzten Update-Datum kann gelesen werden. "Normale" Versionsnummern sagen dem Benutzer nichts. Nur der Entwickler.
Kaiser
5

Der Standard für Versionsnummern in PHP funktioniert folgendermaßen:

MAJOR dot MINOR dot REVISION

Jedes von diesen ist eine ganze Zahl und unabhängig von den anderen. Es ist keine Dezimalzahl. Dies ist wichtig, da version_compare funktioniert.

MAJOR ist die Hauptversion. Sie würden diese Nummer nach einer wesentlichen Änderung des Codes aktualisieren, z. B. nach einer vollständigen Überarbeitung der Funktionsweise des Codes.

MINOR ist die Nebenversion. Sie würden diese Nummer nach einer geringfügigen Änderung des Codes aktualisieren, z. B. durch Hinzufügen einer neuen Funktion.

REVISION ist eine Revisionsnummer. Sie würden dies nach einer Änderung an einer vorhandenen Nebenversion wie einem Bugfix aktualisieren.

Jetzt sind wieder Versionen Ganzzahlen, die durch Punkte getrennt sind. Aus diesem Grund ist Version 1.1 = 1.01; Beide Versionsnummern sind identisch, die Hauptversion ist 1, die Nebenversion ist 1.

In einem anderen Beispiel ist Version 1.9 kleiner als Version 1.10. Die Nebenversion wurde von neun auf zehn geändert .

Da WordPress die version_compare-Funktion von PHP verwendet, müssen Sie diese Methoden für die Versionsnummerierung befolgen.

Beachten Sie, dass WordPress selbst in geringerem Maße eine Ausnahme darstellt, da der Kern von 2,9 auf 3,0 geht. Dies ist ein Vermächtnis und genau so, wie sie es immer getan haben. Es ist kompatibel mit der version_compare-Funktion, aber im Allgemeinen sollte man von 2.9 auf 2.10 gehen, wenn es keine signifikante Umschreibung gibt, um die Hauptversionsstörung zu rechtfertigen.

Otto
quelle
Vielen Dank für die Hilfe und Informationen @Otto, sehr geschätzt!
Steve O'Sullivan