Ruby အတွက် static type checking system ဖြစ်သော Sorbet သည် open source ဖြစ်သည်။

အွန်လိုင်းငွေပေးချေမှုများအတွက် ပလက်ဖောင်းများ ဖွံ့ဖြိုးတိုးတက်ရေးတွင် အထူးပြုထားသည့် Stripe ကုမ္ပဏီ၊ ဖွင့်လှစ် ပရောဂျက်အရင်းအမြစ်ကုဒ်များ ဆားဘတ်Ruby ဘာသာစကားအတွက် static type checking system ကို ပြင်ဆင်ထားသည့်အထဲမှာ၊ ကုဒ်ကို C++ နဲ့ရေးထားတယ်။ ဖြန့်ဝေသည် Apache 2.0 အောက်တွင် လိုင်စင်ရထားသည်။

ကုဒ်ရှိ အမျိုးအစားများအကြောင်း အချက်အလက်များကို ဒိုင်းနမစ်ဖြင့် တွက်ချက်နိုင်ပြီး ရိုးရိုးရှင်းရှင်း ပုံစံဖြင့်လည်း သတ်မှတ်နိုင်ပါသည်။ မှတ်စာများsig နည်းလမ်းကို အသုံးပြု၍ ကုဒ်တွင် သတ်မှတ်နိုင်သည့် (ဥပမာ၊ “sig {params(x: Integer).returns(String)}”) သို့မဟုတ် rbi တိုးချဲ့မှုဖြင့် သီးခြားဖိုင်များတွင် ထားရှိနိုင်သည်။ ရနိုင်ပါတယ် ပဏာမအဖြစ် static code ခွဲခြမ်းစိတ်ဖြာခြင်း။ ကွပ်မျက်ခြင်းမပြုဘဲ၊ဖွင့်သည် ကုဒ်သို့ "require 'sorbet-runtime'" ကို ထည့်ခြင်းဖြင့်။

ဖြစ်နိုင်ခြေကို ပေးထားသည်။ ဖြည်းဖြည်းချင်းဘာသာပြန်ခြင်း။ Sorbet ကို အသုံးပြုရန် ပရောဂျက်များ - ကုဒ်သည် အတည်ပြုချက်ဖြင့် အကျုံးမဝင်သော စာရိုက်ဘလောက်များနှင့် စာရိုက်မထားသော ဧရိယာနှစ်ခုလုံးကို ပေါင်းစပ်နိုင်သည်။ အင်္ဂါရပ်များတွင် အလွန်မြင့်မားသောစွမ်းဆောင်ရည်နှင့် ကုဒ်လိုင်းသန်းပေါင်းများစွာပါဝင်သော ကုဒ်အခြေခံများအတွက် စကေးချနိုင်စွမ်းလည်း ပါဝင်သည်။

ပရောဂျက်တွင် static အမျိုးအစားစစ်ဆေးခြင်းအတွက် kernel တစ်ခုပါဝင်သည်၊
Sorbet ကို အသုံးပြု၍ ပရောဂျက်အသစ်များကို ဖန်တီးရန်အတွက် ကိရိယာတန်ဆာပလာတစ်ခု၊ Sorbet ကိုအသုံးပြုရန် ရှိပြီးသားပရောဂျက်များကို အဆင့်ဆင့်လွှဲပြောင်းခြင်းအတွက် ကိရိယာအစုံ၊ အမျိုးအစားများနှင့် မှတ်ချက်များရေးသားရန်အတွက် ဒိုမိန်းအလိုက် ဘာသာစကားတစ်ခုပါရှိသော runtime သိုလှောင်မှု အမျိုးမျိုးသော Ruby ကျောက်မျက်အတွဲများအတွက် အဆင်သင့်လုပ်ထားသော အမျိုးအစား အဓိပ္ပါယ်ဖွင့်ဆိုချက်များ။

ကနဦးတွင်၊ Stripe ကုမ္ပဏီ၏ အတွင်းပိုင်းပရောဂျက်များကို စစ်ဆေးရန် Sorbet ကို တီထွင်ခဲ့ပြီး၊ ငွေပေးချေမှုနှင့် ခွဲခြမ်းစိတ်ဖြာမှုစနစ်အများစုကို Ruby ဘာသာစကားဖြင့် ရေးသားထားကာ ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အကောင်အထည်ဖော်မှု တစ်နှစ်ခွဲအကြာတွင် open source အမျိုးအစားသို့ လွှဲပြောင်းခဲ့သည်။ ကုဒ်ကိုမဖွင့်မီတွင် ကုမ္ပဏီပေါင်း 30 ကျော် ပါဝင်ခဲ့သည့် ဘီတာစစ်ဆေးမှုကို ပြုလုပ်ခဲ့သည်။ လက်ရှိဖွံ့ဖြိုးတိုးတက်မှုအဆင့်တွင်၊ Sorbet သည် Ruby ရှိ စံပရောဂျက်အများစုကို စတင်ခြင်းအား ပံ့ပိုးပေးသော်လည်း ကိုက်ညီမှုအချို့ရှိနိုင်ပါသည်။

source: opennet.ru

မှတ်ချက် Add