Sorbet, un sistema de verificación de tipos estáticos para Ruby, é de código aberto.

Empresa Stripe, especializada no desenvolvemento de plataformas para pagos en liña, aberto códigos fonte do proxecto Sorbeto, dentro do cal se preparou un sistema de verificación de tipos estáticos para a linguaxe Ruby. O código está escrito en C++ e distribuído por licenciado baixo Apache 2.0.

A información sobre os tipos no código pódese calcular de forma dinámica e tamén se pode especificar en forma de simple anotacións, que se pode especificar no código mediante o método sig (por exemplo, “sig {params(x: Integer).returns(String)}”) ou colocado en ficheiros separados coa extensión rbi. Dispoñible como preliminar análise de código estático sen executalo, e comprobando como se executa (acende engadindo "require 'sorbet-runtime'" ao código.

Posibilidade prevista tradución gradual proxectos para usar Sorbet: o código pode combinar bloques escritos anotados e áreas non tipificadas non cubertas pola verificación. As características tamén inclúen un rendemento moi alto e a capacidade de escalar para bases de código que conteñan millóns de liñas de código.

O proxecto inclúe un núcleo para a verificación de tipos estáticos,
un conxunto de ferramentas para crear novos proxectos usando Sorbet, un conxunto de ferramentas para a transferencia paso a paso de proxectos existentes para usar Sorbet, un tempo de execución cunha linguaxe específica de dominio para escribir anotacións sobre tipos e repositorio con definicións de tipos preparadas para varios paquetes de xemas Ruby.

Inicialmente, Sorbet desenvolveuse para comprobar proxectos internos da empresa Stripe, cuxos sistemas de pago e análise a maioría están escritos en linguaxe Ruby, e foi trasladado á categoría de código aberto despois de ano e medio de desenvolvemento e implementación. Antes de abrir o código realizáronse as probas beta, nas que participaron máis de 30 empresas. Na fase actual de desenvolvemento, Sorbet admite o lanzamento da maioría dos proxectos estándar en Ruby, pero pode haber algunhas incompatibilidades.

Fonte: opennet.ru

Engadir un comentario