Sorbet, statinė Ruby tipo tikrinimo sistema, yra atvirojo kodo.

„Stripe“ įmonė, kuri specializuojasi internetinių mokėjimų platformų kūrime, atidarytas projekto šaltinio kodai Sorbetas, kurioje buvo parengta statinė Ruby kalbos tipo tikrinimo sistema. Kodas parašytas C++ ir išplatino licencijuota pagal Apache 2.0.

Informacija apie tipus kode gali būti skaičiuojama dinamiškai, taip pat gali būti nurodyta paprasta forma anotacijos, kurį galima nurodyti kode naudojant sig metodą (pavyzdžiui, „sig {params(x: Integer).returns(String)}“) arba sudėti į atskirus failus su plėtiniu rbi. Yra kaip preliminarus statinio kodo analizė jo nevykdant ir tikrinant, kaip jis vykdomas (įsijungia prie kodo pridedant „require 'sorbet-runtime'“.

Suteikta galimybė laipsniškas vertimas projektai naudoti Sorbet - kodas gali sujungti tiek anotuotus įvestus blokus, tiek neįvestas sritis, kurios neapima patikrinimo. Funkcijos taip pat apima labai didelį našumą ir galimybę keisti kodo bazes, kuriose yra milijonai kodo eilučių.

Projekte yra statinio tipo tikrinimo branduolys,
įrankių rinkinys naujiems projektams kurti naudojant Sorbet, įrankių rinkinys, skirtas laipsniškam esamų projektų perkėlimui į Sorbet, vykdymo laikas su konkrečiai domenui skirta kalba, skirta rašyti komentarus apie tipus ir saugykla su paruoštais įvairių Ruby brangakmenių paketų tipų apibrėžimais.

Iš pradžių „Sorbet“ buvo sukurtas siekiant patikrinti įmonės „Stripe“, kurios dauguma mokėjimų ir analitinių sistemų yra parašytos „Ruby“ kalba, vidaus projektams, o po pusantrų metų kūrimo ir diegimo buvo perkeltas į atvirojo kodo kategoriją. Prieš atidarant kodą buvo atliktas beta testavimas, kuriame dalyvavo daugiau nei 30 įmonių. Dabartiniame kūrimo etape „Sorbet“ palaiko daugumos standartinių projektų „Ruby“ paleidimą, tačiau gali būti tam tikrų nesuderinamumo.

Šaltinis: opennet.ru

Добавить комментарий