Sorbet, et statisk type kontrollsystem for Ruby, er åpen kildekode.

Stripe-selskap som spesialiserer seg på utvikling av plattformer for nettbetalinger, åpnet prosjektkildekoder sorbet, der et statisk typekontrollsystem for Ruby-språket ble utarbeidet. Koden er skrevet i C++ og distribuert av lisensiert under Apache 2.0.

Informasjon om typer i koden kan beregnes dynamisk, og kan også spesifiseres i form av enkle merknader, som kan spesifiseres i kode ved hjelp av sig-metoden (for eksempel "sig {params(x: Integer).returns(String)}") eller plasseres i separate filer med rbi-utvidelsen. Tilgjengelig som foreløpig statisk kodeanalyse uten å utføre det, og sjekke etter hvert som det utføres (slår seg på ved å legge til "require 'sorbet-runtime'" til koden.

Mulighet gitt gradvis oversettelse prosjekter for å bruke Sorbet - koden kan kombinere både kommenterte maskinskrevne blokker og utypede områder som ikke dekkes av verifisering. Funksjoner inkluderer også svært høy ytelse og muligheten til å skalere for kodebaser som inneholder millioner av linjer med kode.

Prosjektet inkluderer en kjerne for statisk typekontroll,
et verktøysett for å lage nye prosjekter med Sorbet, et verktøysett for trinnvis overføring av eksisterende prosjekter til bruk av Sorbet, en kjøretid med et domenespesifikt språk for å skrive merknader om typer og oppbevaringssted med ferdige typedefinisjoner for ulike Ruby gems-pakker.

Opprinnelig ble Sorbet utviklet for å sjekke interne prosjekter til Stripe-selskapet, hvor de fleste betalings- og analysesystemer er skrevet på Ruby-språket, og ble overført til kategorien åpen kildekode etter halvannet år med utvikling og implementering. Før åpningen av koden ble det utført beta-testing, der mer enn 30 selskaper deltok. På det nåværende utviklingsstadiet støtter Sorbet lanseringen av de fleste standardprosjekter i Ruby, men det kan være noen inkompatibiliteter.

Kilde: opennet.ru

Legg til en kommentar