Dinge benennen ist schwer. Es gibt aber diverse Namensgeneratoren in Python, die einem Namen wie glorious-conclusion oder marvellous-umbrella erzeugen können. Ich habe einige davon verglichen und mag unique-namer am liebsten.

Motivation

Auf der Arbeit mache ich gerade Experimente. Bei der Auswertung fällt mir dann irgendwas auf und ich mache das nächste Experiment. Ich verändere dann einen der vielen Parameter. Da ich vorher aber noch gar nicht weiß, welche Parameter relevant sind, habe ich die nicht in den Bezeichner des ersten Experiments gepackt. Beim zweiten Experiment müsste ich die Veränderung festhalten. Und so wird aus dem Namen »Experiment X« dann »Experiment X, Version 2« oder »Experiment X, Datensatz B«. Dann fällt noch etwas anderes auf, die dritte Runde ist »Experiment X, Datensatz B, Fehler behoben«.

Hier baut man letztlich eine Facettenklassifikation auf. Jedes Experiment ist Teil einer Experimentreihe, basiert auf einem Datensatz, hat einen Code-Stand mit verschiedenen Änderungen im Vergleich zum Experiment davor. Es können auch immer neue Facetten hinzukommen.

Eigentlich müsste ich ja auch die Namen der anderen Experimente rückblickend noch erweitern, also »Datensatz A« und »mit Fehler«. Damit sind die Ordnernamen aber auch nicht mehr stabil.

Dieses System endet dann mit Masterarbeit-korrigiert4-final6-abgenommen2-final.pdf. Der Unterschied zu Masterarbeit-korrigiert-3_abgenommen8-final.pdf ist im Gespräch dann nur schwer zu vermitteln.

Undurchsichtige Namen

Das Grundproblem ist der Versuch eines Namens, der alles enthält. Allerdings müsste man den Namen ändern, wenn man noch eine weitere Eigenschaft darstellen möchte. Der Name wäre nicht stabil.

Daher erscheint es mir sinnvoller einen undurchsichtigen Namen zu nehmen, der wirklich nur eine Identifikation ist. Die Eigenschaften sind dann Metadaten, die getrennt erfasst werden.

Somit gebe ich meinen Experimenten nun Namen wie »magnificent-cube«. In einer Tabelle trage ich pro Zeile ein Experiment ein, in die Spalten dann Eigenschaften wie den genutzten Datensatz und verschiedene Parameter. Eigenschaften, die bei allen Experimenten gleich sind, brauche ich nicht aufschlüsseln. Sobald ich aber etwas verändere, füge ich das als Spalte hinzu. Die Tabelle wächst also automatisch genau auf die Größe, damit alle Experimente beschrieben sind.

Programme zur Erzeugung

Ich habe einige Programme ausprobiert und bei manchen wenig Varianz festgestellt. Wenn Namen schnell erneut vorkommen, ist das eher schlecht. So habe ich mir einmal angeschaut, wie viele Adjektive und Nomen die Programme so haben. Und da sind viele Größenordnungen zwischen:

Programm Adjektive Nomen Kombinationen
unique-namer, namer 2.100 8.189 17.196.900
coolname 722 442 319.124
petname 226 278 62.828
names-generator 108 237 25.596
codename 64 130 5.833

Ich hatte zuerst tatsächlich codename ausprobiert, aber schnell mehrfach das gleiche gehabt. Von daher bin ich jetzt bei unique-namer, was dieses Problem überhaupt nicht mehr hat.