Sorbet, statyczny system sprawdzania typów dla Ruby, jest open source.

firma Stripe specjalizująca się w rozwoju platform do płatności internetowych, otwierany kody źródłowe projektów Sorbet, w ramach którego przygotowano statyczny system sprawdzania typów dla języka Ruby. Kod jest napisany w C++ i dystrybuowane przez na licencji Apache 2.0.

Informacje o typach w kodzie można obliczać dynamicznie, a także można je podawać w formie prostej adnotacje, które można określić w kodzie metodą sig (np. „sig {params(x: Integer).returns(String)}”) lub umieścić w oddzielnych plikach z rozszerzeniem rbi. Dostępny jako wstępne statyczna analiza kodu bez wykonywania go i sprawdzanie, jak jest wykonywany (włącza się dodając do kodu „wymagaj„ sorbet-runtime ””.

Możliwość zapewniona stopniowe tłumaczenie projekty do wykorzystania Sorbet - w kodzie można łączyć zarówno bloki z adnotacjami, jak i obszary nietypowane, nie objęte weryfikacją. Funkcje obejmują również bardzo wysoką wydajność i możliwość skalowania dla baz kodu zawierających miliony linii kodu.

Projekt zawiera jądro służące do statycznego sprawdzania typu,
zestaw narzędzi do tworzenia nowych projektów przy użyciu Sorbetu, zestaw narzędzi do stopniowego przenoszenia istniejących projektów do Sorbetu, środowisko uruchomieniowe z językiem specyficznym dla domeny do pisania adnotacji o typach i magazyn z gotowymi definicjami typów dla różnych pakietów klejnotów Ruby.

Początkowo Sorbet powstawał do sprawdzania wewnętrznych projektów firmy Stripe, której większość systemów płatniczych i analitycznych jest napisana w języku Ruby, by po półtora roku rozwoju i wdrożenia został przeniesiony do kategorii open source. Przed otwarciem kodu przeprowadzono beta testy, w których wzięło udział ponad 30 firm. Na obecnym etapie rozwoju Sorbet wspiera uruchamianie większości standardowych projektów w Ruby, jednak mogą pojawić się pewne niekompatybilności.

Źródło: opennet.ru

Dodaj komentarz