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

Empresa Stripe, especializada en el desarrollo de plataformas para pagos online, abrió códigos fuente del proyecto Sorbete, dentro del cual se preparó un sistema de verificación de tipos estáticos para el lenguaje Ruby. El código está escrito en C++ y distribuido por licenciado bajo Apache 2.0.

La información sobre los tipos en el código se puede calcular dinámicamente y también se puede especificar en forma de simple anotaciones, que se puede especificar en el código usando el método sig (por ejemplo, “sig {params(x: Integer).returns(String)}”) o colocarse en archivos separados con la extensión rbi. Es posible como preliminar análisis de código estático sin ejecutarlo, y comprobando como se ejecuta (enciende agregando "requerir 'sorbet-runtime'" al código.

Posibilidad proporcionada traducción gradual proyectos para usar Sorbet: el código puede combinar bloques escritos anotados y áreas no escritas que no están cubiertas por la verificación. Las características también incluyen un rendimiento muy alto y la capacidad de escalar para bases de código que contienen millones de líneas de código.

El proyecto incluye un kernel para verificación de tipos estáticos,
un conjunto de herramientas para crear nuevos proyectos usando Sorbet, un conjunto de herramientas para la transferencia paso a paso de proyectos existentes para usar Sorbet, un tiempo de ejecución con un lenguaje específico de dominio para escribir anotaciones sobre tipos y repositorio con definiciones de tipos listas para usar para varios paquetes de gemas Ruby.

Inicialmente, Sorbet fue desarrollado para verificar proyectos internos de la empresa Stripe, la mayoría de cuyos sistemas analíticos y de pago están escritos en lenguaje Ruby, y fue transferido a la categoría de código abierto después de un año y medio de desarrollo e implementación. Antes de abrir el código se realizaron pruebas beta, en las que participaron más de 30 empresas. En la etapa actual de desarrollo, Sorbet admite el lanzamiento de la mayoría de proyectos estándar en Ruby, pero puede haber algunas incompatibilidades.

Fuente: opennet.ru

Añadir un comentario