A Sorbet, a Ruby statikus típusellenőrző rendszere nyílt forráskódú.

Stripe cég, amely online fizetési platformok fejlesztésére szakosodott, nyitott projekt forráskódjai sörbet, amelyen belül a Ruby nyelv statikus típusellenőrző rendszere készült. A kód C++ és nyelven van írva forgalmazza Apache 2.0 licenc alatt.

A kódban található típusokra vonatkozó információ dinamikusan számítható, és egyszerű formában is megadható megjegyzések, amely megadható kódban a sig metódussal (például „sig {params(x: Integer).returns(String)}”), vagy elhelyezhető külön fájlokban rbi kiterjesztéssel. Elérhető mint előzetes statikus kódelemzés végrehajtása nélkül, és végrehajtás közben ellenőrizni kell (bekapcsol a "require 'sorbet-runtime'" hozzáadásával a kódhoz.

Lehetőség biztosított fokozatos fordítás projektek Sorbet használatára – a kód képes kombinálni mind a megjegyzésekkel ellátott, beírt blokkokat, mind a nem hitelesített területeket, amelyeket nem fed le az ellenőrzés. A funkciók közé tartozik a nagyon nagy teljesítmény és a több millió sornyi kódot tartalmazó kódbázisra való méretezhetőség is.

A projekt tartalmaz egy kernelt a statikus típusellenőrzéshez,
egy eszköztár új projektek létrehozásához a Sorbet használatával, egy eszköztár a meglévő projektek lépésről lépésre történő átviteléhez a Sorbet használatához, egy futási környezet domain-specifikus nyelvű megjegyzések írásához a típusokról és adattár kész típusdefiníciókkal a különböző Ruby gems csomagokhoz.

A Sorbet kezdetben a Stripe cég belső projektjeinek ellenőrzésére fejlesztették ki, amelynek fizetési és elemző rendszerei többsége Ruby nyelven íródott, majd másfél éves fejlesztés és megvalósítás után átkerült a nyílt forráskódú kategóriába. A kód megnyitása előtt béta tesztelésre került sor, melyben több mint 30 cég vett részt. A fejlesztés jelenlegi szakaszában a Sorbet támogatja a legtöbb szabványos projekt elindítását Rubyban, de előfordulhatnak bizonyos összeférhetetlenségek.

Forrás: opennet.ru

Hozzászólás