Ava kood Sorbet, Ruby staatilise tüüpide kontrollimise süsteem

Stripe'i ettevõte, mis on spetsialiseerunud online-maksete platvormide arendamisele, avatud projekti lähtekoodid Sorbet, mille raames on välja töötatud staatiliste tüüpide kontrollimise süsteem Ruby keele jaoks. Kood on kirjutatud C++ keeles ja levitatakse lisensiga Apache 2.0.

Koodis saab tüübinfot arvutada dünaamiliselt või määrata see lihtsate annotatsioonide, mida saab koodis määrata meetodi sig abil (näiteks „sig {params(x: Integer).returns(String)}”) või paigutada eraldi failidesse, millel on laiend rbi. On võimalik kas ettevalmistav staatilise koodi analüüsi ilma selle täitmiseta, või kontrollimise läbiviimine käivitamise ajal (lülitatakse kaudu koodi lisamisega „require ‘sorbet-runtime'”).

Eeldatakse, et projektide järkjärguline üleminek Sorbet'i kasutamisele — koodis võivad koexistida nii annotatsioonidega typiseeritud plokid kui ka tüüpimata osad, mida kontrollimine ei kata. Eristava joone juurde kuulub ka väga kõrge jõudlus ja skaleeritavus koodibaaside jaoks, mis sisaldavad miljoneid koodirekke.

Projekt sisaldab tüübi staatilise kontrollimise tuuma,
vahendid uute projektide loomiseks Sorbet'i kasutades, vahendid olemasolevate projektide järk-järgulise ülemineku jaoks Sorbet'i manustamisele, runtime teemakohase keele annotatsioonide kirjutamiseks ning hoidla valmistüüpidest, mis on mõeldud erinevate Ruby gems-pakettide jaoks.

Alguses arendati Sorbet Stripe'i ettevõtte sisemiste projektide kontrollimiseks, millest enamus makse- ja analüütilist süsteemi on kirjutatud Ruby keeles, ning see muudeti avatud allikaks pärast poolteist aastat arendamist ja rakendamist. Koodiga avamise eel tehti beetatest, kus osales üle 30 ettevõtte. Praegusel arenguetapil toetab Sorbet enamik standardseid Ruby projekte, kuid erandeid võib esineda.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster