Sorbet, Ruby-ren mota estatikoa egiaztatzeko sistema, kode irekikoa da.

Stripe enpresa, lineako ordainketak egiteko plataformen garapenean espezializatua, ireki proiektuaren iturburu-kodeak Sorbetea, zeinaren barruan Ruby hizkuntzarako mota egiaztatzeko sistema estatiko bat prestatu zen. Kodea C++-n idatzita dago eta arabera banatuta Apache 2.0 lizentziapean.

Kodeko motei buruzko informazioa dinamikoki kalkula daiteke, eta sinple moduan ere zehaztu daiteke oharrak, sig metodoa erabiliz kodean zehaztu daitekeena (adibidez, β€œsig {params(x: Integer).returns(String)}”) edo rbi luzapena duten fitxategi bereizietan jar daiteke. Eskuragarri aurretiazko gisa kode estatikoen azterketa exekutatu gabe, eta exekutatu ahala egiaztatuz (pizten da kodeari "require 'sorbet-runtime'" gehituz.

Ematen den aukera pixkanakako itzulpena Sorbet erabiltzeko proiektuak - kodeak idatzitako bloke idatziak eta egiaztapenak estali gabeko eremu idatzi gabekoak konbina ditzake. Ezaugarriek errendimendu oso altua eta milioika kode lerro dituzten kode-oinarrietarako eskalatzeko gaitasuna ere barne hartzen dute.

Proiektuak mota estatikoak egiaztatzeko kernel bat barne hartzen du,
Sorbet erabiliz proiektu berriak sortzeko tresna-kit bat, Sorbet erabiltzeko lehendik dauden proiektuak urratsez urrats transferitzeko tresna-kit bat, domeinuko hizkuntza espezifikoa duen exekuzio-denbora bat mota eta oharrak idazteko. biltegia Ruby gems pakete ezberdinetarako prest dauden mota definizioekin.

Hasieran, Sorbet Stripe enpresaren barne-proiektuak egiaztatzeko garatu zen, zeinaren ordainketa- eta analisi-sistema gehienak Ruby hizkuntzan idatzita dauden, eta kode irekiko kategoriara pasatu zen urte eta erdi garatu eta inplementatu ondoren. Kodea ireki aurretik, beta probak egin ziren, eta 30 enpresa baino gehiagok hartu zuten parte. Gaur egungo garapen-fasean, Sorbet-ek proiektu estandar gehienak abian jartzea onartzen du Ruby-n, baina bateraezintasun batzuk egon daitezke.

Iturria: opennet.ru

Gehitu iruzkin berria