Ruby の静的型チェック システムである Sorbet はオープンソースです。

オンライン決済プラットフォームの開発を専門とするStripe社は、 オープン プロジェクトのソースコード シャーベット、その中で Ruby 言語の静的型チェック システムが準備されました。 コードは C++ で書かれており、 によって配布 Apache 2.0 に基づいてライセンスされています。

コード内の型に関する情報は動的に計算でき、単純な形式で指定することもできます。 注釈これは、sig メソッド (たとえば、「sig {params(x: Integer).returns(String)}」) を使用してコード内で指定することも、rbi 拡張子の付いた別のファイルに配置することもできます。 可能です 予備として 静的コード分析 実行せずに、実行時にチェックします (オンにする コードに「require 'sorbet-runtime'」を追加します。

提供される可能性 段階的な翻訳 Sorbet を使用するプロジェクト - コードは、注釈付きの型付きブロックと検証の対象外の型なし領域の両方を組み合わせることができます。 機能には、非常に高いパフォーマンスと、数百万行のコードを含むコード ベースに対応する拡張機能も含まれます。

プロジェクトには静的型チェック用のカーネルが含まれています。
Sorbet を使用して新しいプロジェクトを作成するためのツールキット、Sorbet を使用するために既存のプロジェクトを段階的に転送するためのツールキット、型に関する注釈を記述するためのドメイン固有言語を備えたランタイム リポジトリ さまざまな Ruby gem パッケージの既製の型定義を使用します。

当初、Sorbet は Stripe 社の内部プロジェクトをチェックするために開発されました。その決済システムと分析システムのほとんどは Ruby 言語で書かれており、30 年半の開発と実装後にオープンソースのカテゴリーに移行されました。 コードを公開する前にベータテストが実施され、XNUMX社以上が参加した。 開発の現在の段階では、Sorbet は Ruby でのほとんどの標準プロジェクトの起動をサポートしていますが、いくつかの非互換性がある可能性があります。

出所: オープンネット.ru

コメントを追加します