Sorbet, Ruby statiskā tipa pārbaudes sistēma, ir atvērtā koda avots.

Uzņēmums Stripe, kas specializējas tiešsaistes maksājumu platformu izstrādē, atvērts projekta pirmkodi Sorbets, kuras ietvaros tika sagatavota statiskā tipa pārbaudes sistēma Ruby valodai. Kods ir rakstīts C++ un izplata licencēts saskaņā ar Apache 2.0.

Informāciju par veidiem kodā var aprēķināt dinamiski, un to var arī norādīt vienkāršā veidā anotācijas, ko var norādīt kodā, izmantojot sig metodi (piemēram, “sig {params(x: Integer).returns(String)}”) vai ievietot atsevišķos failos ar paplašinājumu rbi. Pieejams kā provizoriski statiskā koda analīze neizpildot to un pārbaudot, kā tas tiek izpildīts (ieslēdzas kodam pievienojot "require 'sorbet-runtime'".

Tiek nodrošināta iespēja pakāpeniska tulkošana projekti izmantot Sorbet - kods var apvienot gan anotētus drukātus blokus, gan neierakstītus apgabalus, uz kuriem neattiecas pārbaude. Funkcijas ietver arī ļoti augstu veiktspēju un spēju mērogot koda bāzēm, kas satur miljoniem koda rindu.

Projektā ir iekļauts kodols statiskai tipa pārbaudei,
rīku komplekts jaunu projektu izveidei, izmantojot Sorbet, rīku komplekts esošo projektu pakāpeniskai pārsūtīšanai uz Sorbet, izpildlaiks ar domēnam raksturīgu valodu anotāciju rakstīšanai par veidiem un krātuve ar gatavām tipu definīcijām dažādām Ruby dārgakmeņu pakotnēm.

Sākotnēji Sorbet tika izstrādāts, lai pārbaudītu uzņēmuma Stripe iekšējos projektus, kuru maksājumu un analītisko sistēmu vairums ir rakstītas Ruby valodā, un pēc pusotra gada izstrādes un ieviešanas tika pārcelts uz atvērtā pirmkoda kategoriju. Pirms koda atvēršanas tika veikta beta testēšana, kurā piedalījās vairāk nekā 30 uzņēmumi. Pašreizējā izstrādes stadijā Sorbet atbalsta vairuma standarta projektu uzsākšanu Ruby, taču var būt dažas nesaderības.

Avots: opennet.ru

Pievieno komentāru