Ruby için statik tip kontrol sistemi olan Sorbet açık kaynaklıdır.

Çevrimiçi ödeme platformlarının geliştirilmesinde uzmanlaşmış Stripe şirketi, açıldı proje kaynak kodları şerbetRuby dili için statik tip kontrol sistemi hazırlandı. Kod C++ ile yazılmıştır ve tarafından dağıtıldı Apache 2.0 altında lisanslanmıştır.

Koddaki türlere ilişkin bilgiler dinamik olarak hesaplanabildiği gibi basit biçimde de belirtilebilir. ek açıklamalarsig yöntemi (örneğin, “sig {params(x: Integer).returns(String)}”) kullanılarak kodda belirtilebilir veya rbi uzantılı ayrı dosyalara yerleştirilebilir. Mümkün ön hazırlık olarak statik kod analizi çalıştırmadan ve yürütülürken kontrol etmek (açar koda "require 'sorbet-runtime'" ekleyerek.

Sağlanan olasılık kademeli çeviri Sorbet'i kullanacak projeler - kod, hem açıklamalı yazılan blokları hem de doğrulama kapsamında olmayan türlenmemiş alanları birleştirebilir. Özellikleri arasında çok yüksek performans ve milyonlarca satır kod içeren kod tabanlarına göre ölçeklendirme yeteneği de yer alıyor.

Proje, statik tip kontrolü için bir çekirdek içerir,
Sorbet'i kullanarak yeni projeler oluşturmaya yönelik bir araç seti, mevcut projelerin Sorbet'e adım adım aktarılmasına yönelik bir araç seti, türler ve türler hakkında ek açıklamalar yazmak için alana özgü bir dile sahip bir çalışma zamanı havuz Çeşitli Ruby gem paketleri için hazır tip tanımlarıyla.

Başlangıçta ödeme ve analitik sistemlerinin çoğu Ruby dilinde yazılan Stripe şirketinin iç projelerini kontrol etmek için geliştirilen Sorbet, bir buçuk yıllık geliştirme ve uygulama sürecinin ardından açık kaynak kategorisine aktarıldı. Kodu açmadan önce 30'dan fazla firmanın katıldığı beta testi gerçekleştirildi. Şu anki geliştirme aşamasında Sorbet, Ruby'deki standart projelerin çoğunun başlatılmasını desteklemektedir, ancak bazı uyumsuzluklar olabilir.

Kaynak: opennet.ru

Yorum ekle