Sorbet 是 Ruby 的靜態型別檢查系統,是開源的。

Stripe公司,專門從事線上支付平台的開發, 開了 專案原始碼 冰糕,其中為 Ruby 語言準備了靜態類型檢查系統。 該程式碼是用 C++ 編寫的,並且 分發者 在 Apache 2.0 下獲得許可。

程式碼中的類型資訊可以動態計算,也可以透過簡單的形式指定 註解,可以使用 sig 方法在程式碼中指定(例如,「sig {params(x: Integer).returns(String)}」)或放置在具有 rbi 副檔名的單獨檔案中。 可用的 作為初步的 靜態程式碼分析 不執行它,並在執行時檢查(打開 透過在程式碼中加入“require 'sorbet-runtime'”。

提供的可能性 漸進翻譯 使用 Sorbet 的專案 - 程式碼可以組合帶註解的類型區塊和驗證未覆蓋的非類型區域。 功能還包括非常高的效能以及針對包含數百萬行程式碼的程式碼庫進行擴展的能力。

該項目包括一個用於靜態類型檢查的內核,
用於使用 Sorbet 建立新專案的工具包,用於逐步轉移現有專案以使用 Sorbet 的工具包,具有特定於網域的語言的執行時間,用於編寫有關類型和類型的註釋 存儲庫 具有各種 Ruby gems 套件的現成類型定義。

最初,Sorbet 是為了檢查 Stripe 公司內部專案而開發的,該公司的支付和分析系統大部分都是用 Ruby 語言編寫的,經過一年半的開發和實現後,轉入開源範疇。 在開放程式碼之前,進行了 Beta 測試,有 30 多家公司參與。 在目前的開發階段,Sorbet 支援用 Ruby 啟動大多數標準項目,但可能存在一些不相容的情況。

來源: opennet.ru

添加評論