Sorbet, statický systém kontroly typu pre Ruby, je otvorený.

Spoločnosť Stripe, špecializujúca sa na vývoj platforiem pre online platby, otvoril zdrojové kódy projektu sorbet, v rámci ktorej bol pripravený statický systém typovej kontroly pre jazyk Ruby. Kód je napísaný v C++ a distribuovaný licencovaný pod Apache 2.0.

Informácie o typoch v kóde môžu byť vypočítané dynamicky a môžu byť špecifikované aj vo forme jednoduchých anotácie, ktorý možno zadať v kóde pomocou metódy sig (napríklad „sig {params(x: Integer).returns(String)}“) alebo umiestniť do samostatných súborov s príponou rbi. K dispozícii ako predbežné statická analýza kódu bez toho, aby ste ho spustili a skontrolovali, ako sa vykonáva (vzrušuje pridaním „require 'sorbet-runtime'“ do kódu.

Možnosť poskytnutá postupný preklad projekty na použitie Sorbet - kód môže kombinovať anotované typizované bloky a netypizované oblasti, ktoré nie sú pokryté overením. Medzi funkcie patrí aj veľmi vysoký výkon a možnosť škálovania pre bázy kódu obsahujúce milióny riadkov kódu.

Projekt obsahuje jadro pre statickú kontrolu typu,
súprava nástrojov na vytváranie nových projektov pomocou Sorbetu, súprava nástrojov na postupný prenos existujúcich projektov na používanie Sorbetu, runtime s jazykom špecifickým pre doménu na písanie anotácií o typoch a Úložisko s hotovými definíciami typov pre rôzne balíčky Ruby drahokamov.

Spočiatku bol Sorbet vyvinutý na kontrolu interných projektov spoločnosti Stripe, ktorej väčšina platobných a analytických systémov je napísaná v jazyku Ruby, a po roku a pol vývoja a implementácie bol presunutý do kategórie open source. Pred otvorením kódu prebehlo beta testovanie, do ktorého sa zapojilo viac ako 30 spoločností. V súčasnej fáze vývoja Sorbet podporuje spustenie väčšiny štandardných projektov v Ruby, ale môžu existovať určité nekompatibility.

Zdroj: opennet.ru

Pridať komentár