Sorbet, in statysk type kontrôlesysteem foar Ruby, is iepen boarne.

Stripe bedriuw, spesjalisearre yn 'e ûntwikkeling fan platfoarms foar online betellingen, iepene projekt boarne koades sherbet, wêryn in statysk type kontrôlesysteem foar de Ruby-taal waard taret. De koade is skreaun yn C ++ en ferspraat troch lisinsje ûnder Apache 2.0.

Ynformaasje oer typen yn 'e koade kin wurde berekkene dynamysk, en kin ek oantsjutte yn' e foarm fan ienfâldige annotaasjes, dat kin wurde oantsjutte yn koade mei help fan de sig metoade (bygelyks, "sig {params(x: Integer).returns(String)}") of pleatst yn aparte triemmen mei de rbi tafoeging. Beskikber as foarriedich statyske koade analyze sûnder it út te fieren en te kontrolearjen as it wurdt útfierd (oansette troch it tafoegjen fan "fereaskje 'sorbet-runtime'" oan 'e koade.

Mooglikheid foarsjoen stadige oersetting projekten om Sorbet te brûken - de koade kin kombinearje sawol annotearre typte blokken as net-typte gebieten dy't net wurde bedekt troch ferifikaasje. Funksjes omfetsje ek heul hege prestaasjes en de mooglikheid om te skaaljen foar koadebasen dy't miljoenen rigels koade befetsje.

It projekt omfettet in kernel foar kontrôle fan statyske type,
in toolkit foar it meitsjen fan nije projekten mei Sorbet, in toolkit foar stap-foar-stap oerdracht fan besteande projekten om Sorbet te brûken, in runtime mei in domeinspesifike taal foar it skriuwen fan annotaasjes oer typen en repository mei klearmakke type definysjes foar ferskate Ruby gems pakketten.

Yn it earstoan waard Sorbet ûntwikkele om ynterne projekten fan it Stripe-bedriuw te kontrolearjen, wêrfan de measte betellings- en analytyske systemen yn 'e Ruby-taal skreaun binne, en waard nei in jier en in heal fan ûntwikkeling en ymplemintaasje oerbrocht nei de kategory iepen boarne. Foardat de koade iepene waard, waard beta-testen útfierd, wêrby't mear dan 30 bedriuwen meidienen. Op it hjoeddeiske stadium fan ûntwikkeling stipet Sorbet de lansearring fan de measte standertprojekten yn Ruby, mar d'r kinne wat ynkompatibiliteiten wêze.

Boarne: opennet.ru

Add a comment