Sorbet, sustav za statičku provjeru tipa za Ruby, otvorenog je izvora.

Tvrtka Stripe, specijalizirana za razvoj platformi za online plaćanja, otvorio izvorni kodovi projekta Šerbet, unutar kojeg je pripremljen sustav za statičku provjeru tipa za jezik Ruby. Kod je napisan u C++ i distribuira licenciran pod Apache 2.0.

Informacije o tipovima u kodu mogu se izračunati dinamički, a također se mogu navesti u obliku jednostavnog primjedbe, koji se može navesti u kodu pomoću metode sig (na primjer, “sig {params(x: Integer).returns(String)}”) ili staviti u zasebne datoteke s ekstenzijom rbi. Dostupno kao preliminarno statička analiza koda bez izvođenja i provjere dok se izvršava (uključuje se dodavanjem "require 'sorbet-runtime'" kodu.

Mogućnost osigurana postupno prevođenje projekti za korištenje Sorbet-a - kod može kombinirati označene tipizirane blokove i netipizirana područja koja nisu obuhvaćena provjerom. Značajke također uključuju vrlo visoke performanse i mogućnost skaliranja za baze kodova koje sadrže milijune linija koda.

Projekt uključuje kernel za statičku provjeru tipa,
skup alata za stvaranje novih projekata pomoću Sorbeta, alat za korak-po-korak prijenos postojećih projekata na korištenje Sorbeta, runtime s jezikom specifičnim za domenu za pisanje komentara o tipovima i spremište s gotovim definicijama tipa za razne pakete Ruby dragulja.

Prvobitno je Sorbet razvijen za provjeru internih projekata tvrtke Stripe, čiji je većina sustava plaćanja i analitike napisan u Ruby jeziku, a nakon godinu i pol dana razvoja i implementacije prebačen je u kategoriju otvorenog koda. Prije otvaranja koda provedeno je beta testiranje u kojem je sudjelovalo više od 30 tvrtki. U trenutnoj fazi razvoja, Sorbet podržava pokretanje većine standardnih projekata u Rubyju, ali mogu postojati neke nekompatibilnosti.

Izvor: opennet.ru

Dodajte komentar