Sorbet-ը՝ Ruby-ի ստատիկ տիպի ստուգման համակարգ, բաց կոդով է:

Stripe ընկերությունը, որը մասնագիտացած է առցանց վճարումների հարթակների մշակման մեջ, բացվեց նախագծի սկզբնական կոդեր Սորբետ, որի շրջանակներում պատրաստվել է Ruby լեզվի ստատիկ տիպի ստուգման համակարգ։ Կոդը գրված է C++ և տարածվում է լիցենզավորված Apache 2.0-ի համաձայն:

Կոդի տեսակների մասին տեղեկատվությունը կարող է հաշվարկվել դինամիկ կերպով, ինչպես նաև կարող է նշվել պարզ ձևով ծանոթագրություններ, որը կարող է նշվել կոդում՝ օգտագործելով sig մեթոդը (օրինակ՝ «sig {params(x: Integer).returns(String)}») կամ տեղադրվել rbi ընդլայնմամբ առանձին ֆայլերում։ Առկա է որպես նախնական ստատիկ կոդի վերլուծություն առանց այն կատարելու և ստուգելու, թե ինչպես է այն կատարվում (միանում է կոդին ավելացնելով «require 'sorbet-runtime'»:

Տրված հնարավորություն աստիճանական թարգմանություն Sorbet-ի օգտագործման նախագծեր. կոդը կարող է համատեղել ինչպես ծանոթագրված տպագրված բլոկները, այնպես էլ չտպված տարածքները, որոնք չեն ընդգրկված ստուգմամբ: Հատկանիշները ներառում են նաև շատ բարձր կատարողականություն և միլիոնավոր տող կոդ պարունակող կոդերի հիմքերի մասշտաբների չափման հնարավորություն:

Նախագիծը ներառում է միջուկ՝ ստատիկ տիպի ստուգման համար,
գործիքակազմ՝ Sorbet-ի միջոցով նոր նախագծեր ստեղծելու համար, գործիքակազմ՝ գոյություն ունեցող նախագծերի քայլ առ քայլ փոխանցման համար Sorbet-ի օգտագործման համար, գործարկման ժամանակ՝ տիրույթին հատուկ լեզվով, տեսակների մասին ծանոթագրություններ գրելու համար և պահոց Ռուբիի տարբեր ադամանդների փաթեթների պատրաստի տիպի սահմանումներով:

Սկզբում Sorbet-ը մշակվել է Stripe ընկերության ներքին նախագծերը ստուգելու համար, որի վճարային և վերլուծական համակարգերի մեծ մասը գրված է Ruby լեզվով, և մեկուկես տարի մշակումից և ներդրումից հետո տեղափոխվել է բաց կոդով կատեգորիա: Մինչ կոդը բացելը բետա թեստավորում է իրականացվել, որին մասնակցել է ավելի քան 30 ընկերություն։ Զարգացման ներկա փուլում Sorbet-ն աջակցում է Ruby-ում ստանդարտ նախագծերի մեծ մասի գործարկմանը, սակայն կարող են լինել որոշ անհամատեղելիություններ:

Source: opennet.ru

Добавить комментарий