شرکت Stripe متخصص در توسعه پلتفرمهای پرداخت آنلاین است. کد منبع پروژه که شامل یک سیستم بررسی نوع استاتیک برای زبان روبی است. کد به زبان ++C نوشته شده است و دارای مجوز Apache 2.0.
اطلاعات نوع در کد را میتوان به صورت پویا محاسبه کرد، و همچنین به شکل ساده مشخص کرد که میتواند با استفاده از متد sig در کد مشخص شود (برای مثال، "sig {params(x: Integer).returns(String)}") یا در فایلهای جداگانه با پسوند rbi قرار گیرد. به عنوان مقدماتی بدون پیادهسازی آن، و بررسی آن هنگام پیادهسازی ( با اضافه کردن "require 'sorbet-runtime'" به کد.
احتمال وجود دارد. پروژههایی که از Sorbet—code استفاده میکنند میتوانند بلوکهای حاشیهنویسیشده و تایپشده و بخشهای تایپنشده که تحت پوشش بررسی نیستند را با هم ترکیب کنند. از ویژگیهای آن میتوان به عملکرد بسیار بالا و قابلیت مقیاسپذیری به پایگاههای کد حاوی میلیونها خط کد اشاره کرد.
این پروژه شامل یک هسته برای بررسی نوع استاتیک است،
ابزارهایی برای ایجاد پروژههای جدید با استفاده از Sorbet، ابزارهایی برای انتقال تدریجی پروژههای موجود به Sorbet، یک محیط اجرا با یک زبان خاص دامنه برای نوشتن حاشیهنویسی در مورد انواع و با تعاریف نوع آماده برای بستههای مختلف Ruby gem.
سوربت در ابتدا برای آزمایش پروژههای داخلی در استرایپ توسعه داده شد، که سیستمهای پرداخت و تحلیلی آن عمدتاً با روبی نوشته شدهاند. پس از یک سال و نیم توسعه و پیادهسازی، به صورت متنباز منتشر شد. قبل از متنباز شدن، آزمایش بتا با بیش از 30 شرکتکننده انجام شد. در مرحله فعلی توسعه، سوربت از اکثر پروژههای استاندارد روبی پشتیبانی میکند، اما ممکن است با برخی ناسازگاریها مواجه شود.
منبع: opennet.ru
