Sorbet, 'n statiese tipe kontrolestelsel vir Ruby, is oopbron.

Stripe maatskappy, wat spesialiseer in die ontwikkeling van platforms vir aanlyn betalings, oopgemaak projek bronkodes sorbet, waarbinne 'n statiese tipe kontroleringstelsel vir die Ruby-taal voorberei is. Die kode is geskryf in C++ en versprei deur gelisensieer onder Apache 2.0.

Inligting oor tipes in die kode kan dinamies bereken word, en kan ook gespesifiseer word in die vorm van eenvoudige aantekeninge, wat in kode gespesifiseer kan word deur die sig-metode te gebruik (byvoorbeeld "sig {params(x: Integer).returns(String)}") of in aparte lΓͺers geplaas kan word met die rbi-uitbreiding. Beskikbaar as voorlopig statiese kode analise sonder om dit uit te voer, en na te gaan soos dit uitgevoer word (skakel aan deur "require 'sorbet-runtime'" by die kode te voeg.

Moontlikheid verskaf geleidelike vertaling projekte om Sorbet te gebruik - die kode kan beide geannoteerde getikte blokke en ongetikte areas kombineer wat nie deur verifikasie gedek word nie. Kenmerke sluit ook baie hoΓ« werkverrigting en die vermoΓ« in om te skaal vir kodebasisse wat miljoene reΓ«ls kode bevat.

Die projek bevat 'n kern vir statiese tipe kontrolering,
'n gereedskapstel vir die skep van nuwe projekte met Sorbet, 'n gereedskapstel vir stap-vir-stap oordrag van bestaande projekte om Sorbet te gebruik, 'n looptyd met 'n domeinspesifieke taal vir die skryf van aantekeninge oor tipes en bewaarplek met klaargemaakte tipe definisies vir verskeie Ruby juwele-pakkette.

Sorbet is aanvanklik ontwikkel om interne projekte van die Stripe-maatskappy na te gaan, waarvan die meeste betalings- en analitiese stelsels in die Ruby-taal geskryf is, en is na 'n jaar en 'n half van ontwikkeling en implementering na die kategorie oopbron oorgeplaas. Voordat die kode oopgemaak is, is beta-toetsing uitgevoer, waaraan meer as 30 maatskappye deelgeneem het. Op die huidige stadium van ontwikkeling ondersteun Sorbet die bekendstelling van die meeste standaardprojekte in Ruby, maar daar kan 'n paar onverenigbaarhede wees.

Bron: opennet.ru

Voeg 'n opmerking