Отворен код Sorbet, система за статична проверка на типове за Ruby

Компания Stripe, специализираща се в разработването на платформи за онлайн плащания, отвори изходни текстове на проекта Sorbet, в рамките на който е подготвена система за статична проверка на типове за езика Ruby. Кодът е написан на езика C++ и се разпространява се разпространява под лицензия Apache 2.0.

Информацията за типовете в кода може да се изчислява динамично, както и да се задава под формата на прости анотации, които могат да се указват в кода чрез метода sig (например, «sig {params(x: Integer).returns(String)}») или да се поставят в отделни файлове с разширение rbi. Възможен е както предварителен статичен анализ на кода без неговото изпълнение, така и проверка по време на изпълнение (включва чрез добавяне в кода «require ‘sorbet-runtime'»).

Предвидена е възможност постепенно въвеждане на проекти за използване на Sorbet – в кода могат да се комбинират както снабдени с анотации типизирани блокове, така и нетипизирани участъци, които не са обхванати от проверка. От особеностите се отбелязва много високата производителност и възможността за мащабиране на кодови бази, включващи милиони реда код.

В състава на проекта влизат ядро за статична проверка на типове,
инструменти за създаване на нови проекти с използване на Sorbet, инструменти за етапно въвеждане на съществуващи проекти, работа с предметно-ориентиран език за написване на анотации на типове и репозиторий с готови определения на типове за различни gems пакети на Ruby.

Първоначално Sorbet е разработван за проверка на вътрешни проекти на компанията Stripe, голяма част от плащанията и аналитичните системи в която са написани на езика Ruby, и е преведен в разред на отворен код след година и половина разработка и внедряване. Преди отварянето на кода е проведено бета тестване, в което са участвали над 30 компании. В момента Sorbet поддържа стартиране на повечето типови проекти на Ruby, но могат да се наблюдават отделни несъвместимости.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster