Sorbet, sistem mriksa jinis statis kanggo Ruby, mbukak sumber.

Perusahaan Stripe, khusus ing pangembangan platform kanggo pembayaran online, dibukak kode sumber proyek serbet, ing ngendi sistem mriksa jinis statis kanggo basa Ruby disiapake. Kode ditulis ing C ++ lan disebarake dening dilisensi ing Apache 2.0.

Informasi babagan jinis ing kode bisa diwilang dinamis, lan uga bisa ditemtokake ing wangun prasaja anotasi, sing bisa ditemtokake ing kode nggunakake cara sig (contone, "sig {params (x: Integer).bali (String)}") utawa diselehake ing file kapisah karo extension rbi. Kasedhiya minangka pambuka analisis kode statis tanpa dieksekusi, lan mriksa nalika dieksekusi (diuripake kanthi nambahake "mbutuhake 'sorbet-runtime'" menyang kode.

Kemungkinan kasedhiya terjemahan bertahap proyek nggunakake Sorbet - kode bisa gabungke loro pamblokiran diketik annotated lan wilayah untyped ora dijamin dening verifikasi. Fitur uga kalebu kinerja sing dhuwur banget lan kemampuan kanggo skala kanggo basis kode sing ngemot jutaan baris kode.

Proyek kasebut kalebu kernel kanggo mriksa jinis statis,
toolkit kanggo nggawe proyek anyar nggunakake Sorbet, toolkit kanggo transfer step-by-step proyek sing wis ana kanggo nggunakake Sorbet, runtime karo basa khusus domain kanggo nulis anotasi babagan jinis lan gudang karo definisi jinis siap kanggo macem-macem paket mutiara Ruby.

Wiwitane, Sorbet dikembangake kanggo mriksa proyek internal perusahaan Stripe, sing paling akeh sistem pembayaran lan analitis ditulis ing basa Ruby, lan ditransfer menyang kategori sumber terbuka sawise setaun setengah pembangunan lan implementasine. Sadurunge mbukak kode kasebut, tes beta ditindakake, sing melu luwih saka 30 perusahaan. Ing tataran saiki pembangunan, Sorbet ndhukung Bukak saka paling proyèk standar ing Ruby, nanging ana uga sawetara incompatibilities.

Source: opennet.ru

Add a comment