Sorbet, ett statiskt kontrollsystem för Ruby, är öppen källkod.

Stripe-företag, specialiserat på utveckling av plattformar för onlinebetalningar, öppnad projektets källkoder Sorbet, inom vilket ett statiskt typkontrollsystem för Ruby-språket förbereddes. Koden är skriven i C++ och levererad av licensierad under Apache 2.0.

Information om typer i koden kan beräknas dynamiskt, och kan även specificeras i form av enkla anteckningar, som kan specificeras i kod med hjälp av sig-metoden (till exempel "sig {params(x: Integer).returns(String)}") eller placeras i separata filer med tillägget rbi. Tillgängligt som preliminärt statisk kodanalys utan att köra det och kontrollera när det körs (sätter på genom att lägga till "require 'sorbet-runtime'" till koden.

Möjlighet ges gradvis översättning projekt för att använda Sorbet - koden kan kombinera både kommenterade typblock och otypade områden som inte omfattas av verifiering. Funktioner inkluderar också mycket hög prestanda och möjligheten att skala för kodbaser som innehåller miljontals rader kod.

Projektet inkluderar en kärna för statisk typkontroll,
en verktygslåda för att skapa nya projekt med Sorbet, en verktygslåda för steg-för-steg överföring av befintliga projekt till att använda Sorbet, en runtime med ett domänspecifikt språk för att skriva kommentarer om typer och förvaret med färdiga typdefinitioner för olika Ruby gems-paket.

Inledningsvis utvecklades Sorbet för att kontrollera interna projekt hos Stripe-företaget, vars betalnings- och analyssystem är skrivna på Ruby-språket, och överfördes till kategorin öppen källkod efter ett och ett halvt år av utveckling och implementering. Innan koden öppnades genomfördes betatestning där mer än 30 företag deltog. I det nuvarande utvecklingsstadiet stöder Sorbet lanseringen av de flesta standardprojekt i Ruby, men det kan finnas vissa inkompatibiliteter.

Källa: opennet.ru

Lägg en kommentar