Ang Sorbet, isang static na uri ng checking system para kay Ruby, ay open sourced.

Ang kumpanya ng Stripe, na dalubhasa sa pagbuo ng mga platform para sa mga online na pagbabayad, binuksan mga source code ng proyekto sorbet, kung saan inihanda ang isang static na uri ng checking system para sa wikang Ruby. Ang code ay nakasulat sa C++ at ipinamahagi ni lisensyado sa ilalim ng Apache 2.0.

Ang impormasyon tungkol sa mga uri sa code ay maaaring kalkulahin nang pabago-bago, at maaari ding tukuyin sa anyo ng simple mga anotasyon, na maaaring tukuyin sa code gamit ang paraan ng sig (halimbawa, "sig {params(x: Integer).returns(String)}") o ilagay sa magkahiwalay na mga file na may rbi extension. Available bilang paunang static na pagsusuri ng code nang hindi ito isinasagawa, at sinusuri habang ito ay isinasagawa (naka-on sa pamamagitan ng pagdaragdag ng "nangangailangan ng 'sorbet-runtime'" sa code.

Ibinigay ang posibilidad unti-unting pagsasalin mga proyektong gagamitin ng Sorbet - maaaring pagsamahin ng code ang parehong mga annotated na na-type na mga bloke at hindi na-type na mga lugar na hindi sakop ng pag-verify. Kasama rin sa mga feature ang napakataas na pagganap at ang kakayahang mag-scale para sa mga base ng code na naglalaman ng milyun-milyong linya ng code.

Kasama sa proyekto ang isang kernel para sa static type checking,
isang toolkit para sa paglikha ng mga bagong proyekto gamit ang Sorbet, isang toolkit para sa sunud-sunod na paglipat ng mga kasalukuyang proyekto upang magamit ang Sorbet, isang runtime na may wikang tukoy sa domain para sa pagsulat ng mga anotasyon tungkol sa mga uri at imbakan na may nakahanda nang uri ng mga kahulugan para sa iba't ibang Ruby gems package.

Sa una, ang Sorbet ay binuo upang suriin ang mga panloob na proyekto ng kumpanya ng Stripe, na karamihan sa mga pagbabayad at analytical system ay nakasulat sa wikang Ruby, at inilipat sa kategorya ng open source pagkatapos ng isang taon at kalahati ng pag-unlad at pagpapatupad. Bago buksan ang code, isinagawa ang beta testing, kung saan mahigit 30 kumpanya ang nakibahagi. Sa kasalukuyang yugto ng pag-unlad, sinusuportahan ng Sorbet ang paglulunsad ng karamihan sa mga karaniwang proyekto sa Ruby, ngunit maaaring may ilang mga hindi pagkakatugma.

Pinagmulan: opennet.ru

Magdagdag ng komento