Kodi i Sorbet, sistemit të kontrollit statik të tipeve për Ruby është hapur

Kompani Stripe, e specializuar në zhvillimin e platformave për pagat online, hapën tekstet origjinale të projektit Sorbet, ku është përgatitur një sistem për kontrollin statik të tipeve për gjuhën Ruby. Kodi është shkruar në gjuhën C++ dhe shpërndahet nën licencën Apache 2.0.

Informacioni mbi tipet nĂ« kod mund tĂ« llogaritet dinamikisht, si dhe tĂ« caktohet nĂ« formĂ«n e annotacioneve, tĂ« cilat mund tĂ« specifikohen nĂ« kod pĂ«rmes metodĂ«s sig (pĂ«r shembull, «sig {params(x: Integer).returns(String)}») ose tĂ« vendosen nĂ« skedarĂ« tĂ« ndarĂ« me zgjerim rbi. ËshtĂ« e mundur si njĂ« kontroll paraprak analizĂ«n statike tĂ« kodit pa e ekzekutuar atĂ«, ashtu si dhe kontrollimi gjatĂ« ekzekutimit (aktivizohet nĂ«pĂ«rmjet shtimit nĂ« kod «require ‘sorbet-runtime'».

Parashikohet mundĂ«sia e pĂ«rkthimit tĂ« gradualshĂ«m tĂ« projekteve pĂ«r pĂ«rdorimin e Sorbet — nĂ« kod mund tĂ« pĂ«rzihen si blloqet e tipizuara me annotacione, ashtu edhe pjesĂ«t jo tĂ« tipizuara qĂ« nuk mbulohen nga kontrolli. Nga veçoritĂ« pĂ«rmendet gjithashtu performanca shumĂ« e lartĂ« dhe mundĂ«sia e shkallĂ«zimit pĂ«r baza kodi qĂ« pĂ«rfshijnĂ« miliona rreshta kodi.

Në projekt përfshihet një bërthamë për kontrollin statik të tipeve,
një mjet për krijimin e projekteve të reja duke përdorur Sorbet, një mjet për përkthimin graduale të projekteve ekzistuese në përdorimin e Sorbet, runtime me një gjuhë të orientuar drejt temave për shkruajtjen e annotacioneve mbi tipe dhe repozitori me përkufizime të gatshme për tipe të ndryshme të pakove gems në Ruby.

Në fillim, Sorbet u zhvillua për kontrollin e projekteve të brendshme të kompanisë Stripe, të cilat shumë prej sistemeve të pagesave dhe atyre analitike janë të shkruara në gjuhën Ruby, dhe u kalua në statusin e hapur pas njëvjetori të zhvillimit dhe implementimit. Para hapjes së kodit u zhvillua një testim beta, në të cilin morën pjesë më shumë se 30 kompani. Në fazën aktuale të zhvillimit, Sorbet mbështet ekzekutimin e shumicës së projekteve standarde në Ruby, por mund të shfaqen disa mospoftimësi të veçanta.

Burimi: opennet.ru

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