Kodi i Sorbet u hap, një sistem për kontrollin statik të tipeve për Ruby

Kompania Stripe, e specializuar në zhvillimin e platformave për pagesa online, hapur kodet burimore të projektit Sorbet, në kuadër të së cilës është përgatitur një sistem për kontrollin statik të tipeve për gjuhën Ruby. Kodi është shkruar në gjuhën C++ dhe distribuohet nën licencën Apache 2.0.

Informacioni mbi tipet nĂ« kod mund tĂ« llogaritet dinamikisht, si dhe tĂ« jetĂ« i pĂ«rcaktuar nĂ« formĂ«n e anotacioneve, tĂ« cilat mund tĂ« tregohen nĂ« kod pĂ«rmes metodĂ«s sig (pĂ«r shembull, «sig {params(x: Integer).returns(String)}») ose tĂ« vendosen nĂ« skedarĂ« tĂ« veçantĂ« me zgjerimin rbi. ËshtĂ« e mundur si njĂ« kontroll paraprak analizĂ«n statike tĂ« kodit pa ekzekutimin e tij, ashtu si edhe kontroll nĂ« kohĂ« reale (inkludohet nĂ«pĂ«rmjet shtimit nĂ« kod «require ‘sorbet-runtime'»).

Parashikohet mundësia e kalimit gradual të projekteve në përdorimin e Sorbet - në kod mund të kombinohen blloqe të tipizuara me anotacione dhe pjesë jo të tipizuara që nuk përfshihen në kontroll. Nga veçoritë përmendet gjithashtu performanca shumë e lartë dhe mundësia e shkallëzimit për bazat e kodit që përfshijnë miliona rreshta kodi.

Në strukturën e projektit përfshihet një bërthamë për kontrollin statik të tipeve,
mjete për krijimin e projekteve të reja duke përdorur Sorbet, mjete për kalimin gradual në përdorimin e Sorbet të projekteve ekzistuese, runtime me një gjuhë të specializuar për shkruan anotacione për tipe dhe repo me definita të gatshme për lloje të ndryshme të paketave gems për Ruby.

Fillimisht, Sorbet u zhvillua për kontrollin e projekteve të brendshme të kompanisë Stripe, një pjesë e madhe e sistemeve të pagesave dhe analizës së të dhënave është shkruar në gjuhën Ruby, dhe u kalua në statusin e hapur pas një viti e gjysmë zhvillimi dhe implementimi. Para hapjes së kodit, u krye një testim beta në të cilin morën pjesë mbi 30 kompani. Në këtë fazë të zhvillimit, Sorbet mbështet ekzekutimin e shumicës së projekteve tipike në Ruby, por mund të paraqiten disa paqëndrueshmëri.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster