Otwarty kod Sorbet, systemu statycznej analizy typów dla Ruby

Firma Stripe, specjalizująca się w opracowywaniu platform do płatności online, otworzyła źródłowe teksty projektu Sorbet, w ramach którego przygotowano system statycznej weryfikacji typów dla języka Ruby. Kod napisany jest w języku C++ i rozpowszechniany na licencji Apache 2.0.

Informacje o typach w kodzie mogą być obliczane dynamicznie, a także określane w formie prostych adnotacji, które mogą być wskazywane w kodzie za pomocą metody sig (na przykład „sig {params(x: Integer).returns(String)}”) lub umieszczane w oddzielnych plikach z rozszerzeniem rbi. Możliwe jest zarówno wstępne statyczną analizę kodu bez jego wykonywania, jak i weryfikacja na bieżąco (jest włączana poprzez dodanie do kodu „require ‘sorbet-runtime'”.

Przewidziano możliwość stopniowego przekształcania projektów do korzystania z Sorbet — w kodzie mogą współistnieć zarówno typowane bloki z adnotacjami, jak i nietypowane fragmenty nieobjęte weryfikacją. Z zaletami wiąże się również bardzo wysoka wydajność oraz możliwość skalowania dla baz kodowych obejmujących miliony linii kodu.

W skład projektu wchodzi rdzeń do statycznej weryfikacji typów,
narzędzia do tworzenia nowych projektów z wykorzystaniem Sorbet, narzędzia do stopniowego przekształcania istniejących projektów na zastosowanie Sorbet, runtime z językiem zorientowanym na problemy do pisania adnotacji o typach oraz repozytorium z gotowymi definicjami typów dla różnych pakietów gems na Ruby.

Początkowo Sorbet rozwijał się do weryfikacji wewnętrznych projektów firmy Stripe, w której większość systemów płatności i analitycznych napisana jest w języku Ruby, a po półtora roku rozwoju i wdrażania został udostępniony jako open source. Przed udostępnieniem kodu przeprowadzono beta-testy, w których wzięło udział ponad 30 firm. Na obecnym etapie rozwoju Sorbet obsługuje uruchamianie większości standardowych projektów w Ruby, ale mogą występować pewne niezgodności.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster