Sorbet, Rubyn staattinen tyypintarkistusjärjestelmä, on avoimen lähdekoodin.

Stripe-yritys, joka on erikoistunut verkkomaksualustojen kehittämiseen, avattu projektin lähdekoodit Sorbetti, jossa valmistettiin staattinen tyypintarkistusjärjestelmä Ruby-kielelle. Koodi on kirjoitettu C++ ja jakelija lisensoitu Apache 2.0:lla.

Tiedot koodin tyypeistä voidaan laskea dynaamisesti, ja ne voidaan myös määrittää yksinkertaisessa muodossa huomautuksia, joka voidaan määrittää koodissa sig-menetelmällä (esimerkiksi "sig {params(x: Integer).returns(String)}") tai sijoittaa erillisiin tiedostoihin rbi-tunnisteella. Saatavilla alustavasti staattinen koodianalyysi suorittamatta sitä ja tarkistamalla sitä suoritettaessa (käynnistyy lisäämällä koodiin "require 'sorbet-runtime'".

Mahdollisuus tarjotaan asteittainen käännös hankkeet Sorbetin käyttämiseksi - koodi voi yhdistää sekä huomautuksilla varustettuja kirjoitettuja lohkoja että kirjoittamattomia alueita, joita todennus ei kata. Ominaisuuksiin kuuluu myös erittäin korkea suorituskyky ja mahdollisuus skaalata miljoonia koodirivejä sisältäviin koodikantoihin.

Projekti sisältää ytimen staattista tyyppitarkistusta varten,
työkalupakki uusien projektien luomiseen Sorbetin avulla, työkalupakki olemassa olevien projektien vaiheittaiseen siirtämiseen Sorbetin käyttöön, ajonaika, jossa on verkkotunnuskohtainen kieli huomautusten kirjoittamiseen tyypeistä ja arkisto valmiilla tyyppimäärittelyillä erilaisille Ruby gems -paketeille.

Alun perin Sorbet kehitettiin tarkistamaan Stripe-yrityksen sisäisiä projekteja, joiden maksu- ja analyyttiset järjestelmät on kirjoitettu pääosin Ruby-kielellä, ja se siirrettiin avoimen lähdekoodin luokkaan puolentoista vuoden kehitys- ja toteutuksen jälkeen. Ennen koodin avaamista suoritettiin beta-testaus, johon osallistui yli 30 yritystä. Nykyisessä kehitysvaiheessa Sorbet tukee useimpien standardiprojektien käynnistämistä Rubyssa, mutta joitain yhteensopimattomuutta saattaa esiintyä.

Lähde: opennet.ru

Lisää kommentti