07. Versionsnummern
- Themen
- Motivation: Reproduzierbarkeit von Prozessabläufen
- Voraussetzung: Konsequenz und Disziplin
- Kriterien für Versionsnummern-Schemata
- Beispiele für Versionsnummern-Schemata
- Folien
- PDF
- Glossar
- PDF
- Video
- MP4 (vom SoSe 2021)
Zentrale Aspekte
Versionsnummern und Versionverwaltung sind
zwei voneinander unabhängige Aspekte.
Versionsnummern (und ein Versionsverwaltungssystem)
sind zwingende Voraussetzung für Nachvollziehbarkeit –
und essentiell für saubere wissenschaftliche Datenanalyse.
Versionsnummern sollten möglichst sprechend sein
und einem klaren Schema folgen.
Die Versionsnummer sollte an genau einem Ort abgelegt
und nach einem festen Schema verändert werden.
Schemata sollten konsequent befolgt werden.
Fragen zur Vertiefung und Wiederholung
Diese Fragen dienen der persönlichen Beschäftigung mit der Thematik, werden aber nicht separat in der Vorlesung besprochen.
Warum haben Versionsnummern gerade im Kontext von wissenschaftlicher
Datenverarbeitungssoftware eine so große Bedeutung?
Wie könnte man sicherstellen, dass Versionsnummern sauber gepflegt und immer zuverlässig sind?
Welche Aspekte im Umgang mit Versionsnummern lassen sich automatisieren?
Wie lassen sich (menschenlesbare) Versionsnummern in einer Versionsverwaltung sinnvoll ablegen?
Welche Folgen ergeben sich aus der aktiven Entwicklung und einzelnen Veröffentlichungsversionen (Releases) mit klarer Versionsnummer für den Umgang mit Versionsverwaltungssystemen? Welche Bedeutung kommt hier insbesondere Zweigen (branches) zu?
Warum ist SemVer ein gutes Beispiel für die Wirkmächtigkeit von Abstraktion (im Sinne von Dijkstra), und warum ist es so wichtig, dem Konzept wenn dann konsequent zu folgen?
Weiterführende Literatur/Links
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Versionsnummernschemata sind oft ein Randaspekt normaler Softwareentwicklung, auch wenn sie im Kontext der Nachvollziehbarkeit und Reproduzierbarkeit der wissenschaftlichen Datenauswertung größere Bedeutung erlangen. Es scheint relativ wenige Literatur zu geben, die darauf explizit eingeht. Für den wissenschaftlichen Kontext ist das [Taschuk, 2017Taschuk, Morgan; Wilson, Greg (2017): Ten simple rules for making research software more robust, PLoS Comput. Biol. 13:e1005412], in Kap. 25 von [Sommerville, 2018Sommerville, Ian (2018): Software Engineering, Pearson, Hallbergmoos] finden sich ebenfalls ein paar allgemeine Hinweise.
Taschuk, Morgan; Wilson, Greg (2017): Ten simple rules for making research software more robust, PLoS Comput. Biol. 13:e1005412
Sommerville, Ian (2018): Software Engineering, Pearson, Hallbergmoos
Schemata für Versionsnummern
Es gibt viele verschiedene Schemata für die Gestaltung von Versionsnummern, und es ist nicht das Ziel der Vorlesung, Lobbying für eines dieser Schemata zu betreiben.
Zwei konkrete Schemata werden in der Vorlesung besprochen:
Von diesen beiden ist SemVer das mit großem Abstand strukturiertere – was ihm mitunter auch vorgeworfen wird.
Auch wenn man SemVer nicht verwendet oder verwenden möchte, lohnt ein genauerer Blick auf seine Spezifikation, weil sich dort viele gute Hinweise zum generellen Vorgehen bei der Programmentwicklung finden.
Wichtig bei der Verwendung von Versionsnummernschemata: Ein Schema überlegen/entwickeln/adaptieren und dann konsequent anwenden und kommunizieren.