Der Code von Sorbet, einem System zur statischen Typüberprüfung für Ruby, wurde veröffentlicht.

Die Firma Stripe, die sich auf die Entwicklung von Plattformen für Online-Zahlungen spezialisiert hat, hat Quelltexte des Projekts Sorbet, im Rahmen dessen ein System zur statischen Typüberprüfung für die Programmiersprache Ruby entwickelt wurde. Der Code ist in C++ geschrieben und wird unter der GPLv3-Lizenz bereitgestellt. unter der Apache 2.0-Lizenz.

Typinformationen im Code können dynamisch ermittelt oder in Form einfacher Annotationen, die im Code mithilfe der Methode sig angegeben werden können (zum Beispiel „sig {params(x: Integer).returns(String)}“) oder in separaten Dateien mit der Endung rbi platziert werden. Es ist möglich sowohl eine Vorab- statische Code-Analyse Überprüfung ohne Ausführung als auch eine Laufzeitüberprüfung (aktiviert durch das Hinzufügen von „require ‘sorbet-runtime'“ in den Code).

Es besteht die Möglichkeit einer schrittweisen Migration von Projekten zur Verwendung von Sorbet – im Code können sowohl mit Annotationen versehene typisierte Blöcke als auch untypisierte Abschnitte, die nicht überprüft werden, kombiniert werden. Zu den besonderen Merkmalen gehören zudem eine sehr hohe Leistung und die Möglichkeit der Skalierung für Codebasen, die Millionen von Codezeilen umfassen.

Das Projekt beinhaltet einen Kern für die statische Typüberprüfung,
Werkzeuge zur Erstellung neuer Projekte mit Sorbet, Werkzeuge für die schrittweise Übertragung bestehender Projekte auf Sorbet, Runtime mit einer objektorientierten Sprache zur Erstellung von Typannotationen und Repository fertigen Typdefinitionen für verschiedene Ruby-Gem-Pakete.

Ursprünglich wurde Sorbet zur Überprüfung interner Projekte des Unternehmens Stripe entwickelt, dessen Zahlungs- und Analysesysteme größtenteils in Ruby geschrieben sind, und wurde nach anderthalb Jahren Entwicklung und Implementierung als Open Source freigegeben. Vor der Veröffentlichung des Codes fand eine Beta-Testphase statt, an der mehr als 30 Unternehmen teilnahmen. In der aktuellen Entwicklungsphase unterstützt Sorbet die Ausführung der meisten Standardprojekte in Ruby, jedoch können einzelne Inkompatibilitäten auftreten.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster