Sorbet، یک سیستم بررسی نوع استاتیک برای روبی، منبع باز است.

شرکت Stripe متخصص در توسعه پلتفرم‌های پرداخت آنلاین، باز شد کدهای منبع پروژه سوربیت، که در آن یک سیستم بررسی نوع استاتیک برای زبان روبی آماده شد. کد به زبان C++ و نوشته شده است توزیع شده توسط دارای مجوز Apache 2.0.

اطلاعات مربوط به انواع کد را می توان به صورت پویا محاسبه کرد و همچنین می تواند به صورت ساده مشخص شود حاشیه نویسی، که می تواند با استفاده از روش sig در کد مشخص شود (به عنوان مثال "sig {params(x: Integer).returns(String)}") یا در فایل های جداگانه با پسوند rbi قرار داده شود. در دسترس به عنوان مقدماتی تجزیه و تحلیل کد استاتیک بدون اجرای آن، و بررسی اجرای آن (روشن با افزودن "require 'sorbet-runtime'" به کد.

امکان فراهم شده است ترجمه تدریجی پروژه هایی برای استفاده از Sorbet - کد می تواند هر دو بلوک های تایپ شده مشروح و مناطق تایپ نشده را که توسط تأیید پوشش داده نشده اند ترکیب کند. ویژگی ها همچنین شامل عملکرد بسیار بالا و توانایی مقیاس بندی برای پایه های کد حاوی میلیون ها خط کد است.

این پروژه شامل یک هسته برای بررسی نوع استاتیک است،
یک جعبه ابزار برای ایجاد پروژه های جدید با استفاده از Sorbet، یک جعبه ابزار برای انتقال گام به گام پروژه های موجود به استفاده از Sorbet، یک زمان اجرا با یک زبان خاص دامنه برای نوشتن حاشیه نویسی در مورد انواع و مخزن با تعاریف نوع آماده برای بسته های مختلف سنگهای روبی.

در ابتدا Sorbet برای بررسی پروژه های داخلی شرکت Stripe که اکثر سیستم های پرداخت و تحلیل آن به زبان Ruby نوشته شده است توسعه یافت و پس از یک سال و نیم توسعه و پیاده سازی به دسته open source منتقل شد. قبل از باز کردن کد، آزمایش بتا انجام شد که بیش از 30 شرکت در آن شرکت داشتند. در مرحله فعلی توسعه، Sorbet از راه اندازی اکثر پروژه های استاندارد در Ruby پشتیبانی می کند، اما ممکن است برخی ناسازگاری ها وجود داشته باشد.

منبع: opennet.ru

اضافه کردن نظر