Sorbet, e statesche Typ Iwwerpréiwungssystem fir Ruby, ass oppe Quell.

Stripe Firma, spezialiséiert op der Entwécklung vu Plattforme fir Online Bezuelen, opgemaach Projet Quell Coden sherbet, an deem e statesche Typ Kontrollsystem fir d'Ruby Sprooch virbereet gouf. De Code ass an C ++ geschriwwen an verdeelt duerch lizenzéiert ënner Apache 2.0.

Informatiounen iwwert Zorte am Code kann dynamesch berechent ginn, a kann och an der Form vun einfach uginn ginn Annotatiounen, déi am Code mat der Sig-Methode spezifizéiert ka ginn (zum Beispill "sig {params(x: Integer).returns(String)}") oder an getrennten Dateie mat der rbi-Extensioun plazéiert. Verfügbar als virleefeg statesch Code Analyse ouni et auszeféieren, a kontrolléiert wéi et ausgefouert gëtt (schalt op andeems Dir "erfuerdert 'sorbet-runtime'" an de Code bäigefüügt.

Méiglechkeet gëtt graduell Iwwersetzung Projete fir Sorbet ze benotzen - de Code ka souwuel annotéiert getippten Blocks an ongetypte Beräicher kombinéieren, déi net vun der Verifikatioun ofgedeckt sinn. D'Features enthalen och ganz héich Leeschtung an d'Fäegkeet fir Codebasen ze skaléieren déi Millioune Codelinnen enthalen.

De Projet enthält e Kernel fir statesch Typprüfung,
e Toolkit fir nei Projete mat Sorbet ze kreéieren, e Toolkit fir Schrëtt-fir-Schrëtt Transfert vun existente Projete fir Sorbet ze benotzen, e Runtime mat enger Domain-spezifescher Sprooch fir Annotatiounen iwwer Typen ze schreiwen an repository mat prett-feieren Typ Definitiounen fir verschidde Rubin Edelsteng Pakete.

Am Ufank gouf Sorbet entwéckelt fir intern Projeten vun der Stripe-Firma z'iwwerpréiwen, déi meescht vun deenen hir Bezuel- an analytesch Systemer an der Ruby Sprooch geschriwwe sinn, a gouf no annerhallwem Joer Entwécklung an Ëmsetzung an d'Kategorie Open Source transferéiert. Virun der Ouverture vum Code gouf Beta-Tester duerchgefouert, un deene méi wéi 30 Firmen deelgeholl hunn. An der aktueller Etapp vun der Entwécklung ënnerstëtzt Sorbet de Start vun de meeschte Standardprojeten am Ruby, awer et kann e puer Inkompatibilitéiten sinn.

Source: opennet.ru

Setzt e Commentaire