Ich sehe, dass einige Programme die Versionsnummer als Teil ihres Dateinamens haben, andere nicht. Ich bin eher an den letzteren Typ gewöhnt, und ich denke, dass dieser populärer ist, aber ich sehe den ersteren Typ manchmal in Javascript-Bibliotheken. Zum Beispiel ist die jQuery-Dateinamen wie jquery-2.1.0.js
statt jquery.js
. Jedes Mal, wenn ich diese Dateitypen aktualisiere, muss ich nach den Stellen in anderen Programmen suchen, die diese Dateien laden, den Dateinamen ändern, auf den sie verweisen, und die ältere Version dieser Bibliotheken manuell löschen. Das ist für mich unpraktisch, daher benenne ich die Datei eher um, um die Versionsnummer auszuschließen, und behalte den Dateinamen, auf den verwiesen wird, ohne die Versionsnummer.
Ich vermute, dass diese Nummern für eine Art Versionskontrolle sind, bin aber nicht klar, wann und wie sie verwendet werden.
- Was sind die Vor- und Nachteile für die Aufnahme von Versionsnummern in den Dateinamen?
- Gibt es de facto einen Konsens darüber, in welchen Bereichen der Software oder in welchen Sprachen die Versionsnummer im Dateinamen verwendet wird und in welchen Bereichen / Sprachen nicht? Wenn ja, gibt es dafür eine Ration?
Antworten:
Es ist sinnvoll, die gewünschte Version anzugeben. Das Verhalten, auf das Sie sich verlassen können, könnte sich geändert haben, daher ist neueres Verhalten nicht immer besser. Testen Sie zunächst, ob eine neue Version einer Bibliothek für Sie funktioniert. Aktualisieren Sie dann explizit.
Im Fall von Webressourcen ist es wichtig, dass die Version Teil des Dateinamens ist, wenn das Caching durchgeführt wird . Für statische Ressourcen wie z. B.
jquery.js
wird eine sehr lange Cache-Zeit benötigt, bevor sie erneut abgerufen werden. Während eines Updates soll der Code jedoch sofort die neue Version verwenden , anstatt dass Clients am nächsten Tag auf die neue Version umstellen. Dafoo-1.2.3.js
es sich um eine andere Ressource handeltfoo-1.2.4.js
, werden keine Caches in die Quere kommen.quelle
(Ausgenommen die von @amon erwähnte Situation des Web-Caching): Ich gehe davon aus, dass Sie eine lokale Kopie einer Drittanbieter-Bibliothek für die Verwendung Ihres Programms erstellen, da ansonsten die Notwendigkeit einer Versionsnummer offensichtlich wäre. Das Verwendungsszenario einer solchen Bibliothek eines Drittanbieters in dem von Ihnen entwickelten Softwaresystem kann eines der beiden folgenden sein:
Alle Teile Ihres Programms, die die lib verwenden, müssen immer dieselbe Version der lib (im Idealfall "die neueste") verwenden, und Sie werden die lib von Zeit zu Zeit aktualisieren. Dann kann es sehr mühsam sein, die Versionsnummer als Teil des Dateinamens beizubehalten, und ich würde empfehlen, die Nummer nach Möglichkeit von Ihrer lokalen Kopie der Datei zu entfernen. Beachten Sie, dass dies nur dann eine gute Idee ist, wenn Sie sicher sind, dass der Drittanbieter die Bibliothek größtenteils abwärtskompatibel zu früheren Versionen hält.
Sie erwarten, dass einige Teile Ihres Programms Version A und andere Version B benötigen. Dann benötigen Sie offensichtlich eine Versionsnummer für die Third-Party-Bibliothek. Beachten Sie, dass diese Situation auch auftreten kann, wenn Sie nach der Einführung einer neuen Version nicht alle Ihre Softwareteile auf einmal mit der lib testen können.
Und wenn Sie selbst Bibliotheksverkäufer sind, sollten Sie standardmäßig die Versionsnummer angeben, aber den Benutzer dieser Bibliothek selbst entscheiden lassen, ob er diese Nummer behält oder sie entfernt.
quelle
jquery
, für das amons Web-Caching-Argument gilt. Der Grund für meine Antwort war, verschiedene Situationen zu erklären, in denen "keine Versionsnummer" die bessere Wahl sein könnte.