Sorbet, Ruby үчүн статикалык типти текшерүү системасы, ачык булак болуп саналат.

Stripe компаниясы, онлайн төлөмдөр үчүн платформаларды иштеп чыгууга адистешкен, ачылды долбоордун баштапкы коддору Сорбет, анын ичинде Ruby тили үчүн статикалык типти текшерүү системасы даярдалган. Код C++ тилинде жазылган жана жайылуу Apache 2.0 астында лицензияланган.

Коддогу түрлөр жөнүндө маалымат динамикалык түрдө эсептелип, ошондой эле жөнөкөй түрүндө көрсөтүлүшү мүмкүн аннотациялар, ал sig ыкмасын колдонуу менен коддо көрсөтүлүшү мүмкүн (мисалы, “sig {params(x: Integer).returns(String)}”) же rbi кеңейтүүсү менен өзүнчө файлдарга жайгаштырылышы мүмкүн. жеткиликтүү алдын ала катары статикалык кодду талдоо аны аткарбастан жана аткарылганын текшерүү (күйгүзөт кодго "талап 'sorbet-runtime'" кошуу менен.

Мүмкүнчүлүк берилген акырындык менен которуу Сорбетти колдонуу долбоорлору - код аннотацияланган терилген блокторду да, текшерүү менен камтылбаган типтештирилбеген аймактарды да айкалыштыра алат. Функциялар ошондой эле өтө жогорку өндүрүмдүүлүктү жана миллиондогон код саптарын камтыган код базаларын масштабдоо мүмкүнчүлүгүн камтыйт.

Долбоор статикалык типти текшерүү үчүн ядрону камтыйт,
Сорбеттин жардамы менен жаңы долбоорлорду түзүү үчүн инструменттер топтому, Сорбетти колдонууга учурдагы долбоорлорду этап-этабы менен өткөрүп берүү үчүн инструмент, типтер жана аннотацияларды жазуу үчүн доменге тиешелүү тил менен иштөө убактысы репозиторий ар кандай Ruby асыл таштардын пакеттери үчүн даяр типтеги аныктамалар менен.

Адегенде, Sorbet көпчүлүк төлөм жана аналитикалык системалары Ruby тилинде жазылган Stripe компаниясынын ички долбоорлорун текшерүү үчүн иштелип чыккан жана бир жарым жыл иштеп, ишке ашыруудан кийин ачык булак категориясына өткөн. Кодду ачуунун алдында бета тестирлөө жүргүзүлүп, ага 30дан ашык компания катышкан. Өнүктүрүүнүн азыркы этабында Sorbet Rubyдеги көпчүлүк стандарттуу долбоорлорду ишке киргизүүнү колдойт, бирок кээ бир дал келбестиктер болушу мүмкүн.

Source: opennet.ru

Комментарий кошуу