Sorbet, statični sistem za preverjanje tipa za Ruby, je odprtokoden.

Podjetje Stripe, specializirano za razvoj platform za spletno plačevanje, odprl izvorne kode projekta Sorbet, v okviru katerega je bil pripravljen sistem za statično preverjanje tipov za jezik Ruby. Koda je napisana v C++ in distributer licenciran pod Apache 2.0.

Podatke o vrstah v kodi je mogoče izračunati dinamično in jih je mogoče podati tudi v obliki preprostih opombe, ki ga je mogoče podati v kodi z uporabo metode sig (na primer »sig {params(x: Integer).returns(String)}«) ali postaviti v ločene datoteke s pripono rbi. Na voljo kot predhodni statična analiza kode ne da bi ga izvršili in preverili, ko se izvaja (vklopi z dodajanjem "zahtevaj 'sorbet-runtime'" v kodo.

Zagotovljena možnost postopno prevajanje projekti za uporabo Sorbet - koda lahko združuje označene tipkane bloke in netipizirana področja, ki jih preverjanje ne pokriva. Funkcije vključujejo tudi zelo visoko zmogljivost in možnost prilagajanja za kodne baze, ki vsebujejo milijone vrstic kode.

Projekt vključuje jedro za statično preverjanje tipa,
komplet orodij za ustvarjanje novih projektov z uporabo Sorbeta, komplet orodij za postopni prenos obstoječih projektov na uporabo Sorbeta, izvajalno okolje z domensko specifičnim jezikom za pisanje opomb o tipih in repozitorij s pripravljenimi definicijami tipa za različne pakete draguljev Ruby.

Sprva je bil Sorbet razvit za preverjanje internih projektov podjetja Stripe, katerega večina plačilnih in analitičnih sistemov je napisanih v jeziku Ruby, po letu in pol razvoja in implementacije pa je prešel v kategorijo odprtokodnih. Pred odpiranjem kode je bilo izvedeno beta testiranje, v katerem je sodelovalo več kot 30 podjetij. Na trenutni stopnji razvoja Sorbet podpira zagon večine standardnih projektov v Rubyju, vendar lahko pride do nekaterih nezdružljivosti.

Vir: opennet.ru

Dodaj komentar