Перейти к содержанию

Открыт код Sorbet, системы статической проверки типов для Ruby

Материал из Викиновостей, свободного источника новостей

21 июня 2019 года

Компания Stripe, специализирующаяся на разработке платформ для online-платежей, открыла исходные тексты проекта Sorbet, в рамках которого подготовлена система статической проверки типов для языка Ruby. Код написан на языке С++ и распространяется под лицензией Apache 2.0.

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

Предусмотрена возможность постепенного перевода проектов на использование Sorbet - в коде могут сочетаться как снабжённые аннотациями типизированные блоки, так и нетипизированные участки не охваченные проверкой. Из особенностей также отмечается очень высокая производительность и возможность масштабирования для кодовых баз, включающих миллионы строк кода.

В состав проекта входит ядро для статической проверки типов, инструментарий для создания новых проектов с использованием Sorbet, инструментарий для поэтапного перевода на применение Sorbet существующих проектов, runtime с предметно-ориентированным языком для написания аннотаций о типах и репозиторий с готовыми определениями типов для различных gems-пакетов на Ruby.

Изначально Sorbet развивался для проверки внутренних проектов компании Stripe, большая часть платёжных и аналитических систем в которой написана на языке Ruby, и был переведён в разряд открытых после полутора лет разработки и внедрения. Перед открытием кода было проведено бета-тестирование, в котором приняли участие более 30 компаний. На текущем этапе развития Sorbet поддерживает запуск большинства типовых проектов на Ruby, но могут наблюдаться отдельные несовместимоcти.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Открыт код Sorbet, системы статической проверки типов для Ruby», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.