GitHub hat Scientist am 3. Februar 2016 in Version 1.0.0 veröffentlicht. Die Ruby-Bibliothek hilft dabei, kritische Codepfade während eines Refactorings mit der bisherigen Implementierung zu vergleichen. Das Werkzeug ist damit auch für Teams interessant, die Laufzeitverhalten und Ergebnisse einer Änderung unter realer Last prüfen müssen.
Kontrollpfad und neue Implementierung im Vergleich
Scientist führt die bestehende Variante als control und den neuen Code als candidate. Die Bibliothek kann beide Pfade ausführen, die Reihenfolge zufällig bestimmen, Laufzeiten messen und die Rückgabewerte vergleichen. Das Ergebnis des bisherigen Kontrollpfads bleibt dabei maßgeblich für die Anwendung.
Fehler im neuen Pfad werden aufgezeichnet, ohne die laufende Anwendung direkt durch einen Wechsel auf die neue Implementierung zu gefährden. Ergebnisse lassen sich an eine eigene Auswertung übergeben. Für ein Team bedeutet das eine schrittweise Prüfung, bevor der neue Code den bisherigen Pfad ersetzt.
Open-Source-Bibliothek für Ruby-Projekte
Der Quellcode und die Dokumentation liegen im offiziellen GitHub-Repository von Scientist. Die Bibliothek ist auf Ruby-Anwendungen ausgelegt und lässt sich über eigene Experimente, Vergleichsregeln und Berichte an unterschiedliche Codepfade anpassen. Ein ähnlicher Werkzeugblick auf Entwicklungsumgebungen findet sich auch im älteren Beitrag zu Visual Studio 2015.
