Upgrade to Pro — share decks privately, control downloads, hide ads and more …

primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを...

primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた

はじめてのRubyKaigi 〜ゆるっとふりかえり会〜
https://pn-developer-lounge.connpass.com/event/236227/

Avatar for Manami Nakamura

Manami Nakamura

May 20, 2025
Tweet

More Decks by Manami Nakamura

Other Decks in Programming

Transcript

  1. 3 中村 愛美 @mnmandahalf 株式会社primeNumber Software Engineer クラウドデータカタログCOMETAの開発をしています ここ数ヶ月はSQLパーサとOpenSearchとよく戯れています Ruby歴:2017〜

    Kaigi歴:個人で1回(2023)今回会社としてKaigi初参加🔰 好きなみかん:伊予柑とはるみです 🍊 アイコン:実は「マナティー」ではなく「ベルーガ」
  2. 6 primeNumberのRBS導入の現在 • ある時点の型は大部分が追加済み(untyped込み) • orthoses, orthoses-railsを活用 • gem_rbs_collectionsで足りないGemの型は sig/gemsに追加

    • CIでSteepを実行しているが、 型検査はまだすり抜けている状態 導入してくださった吉野さん、ありがとうございます!!
  3. 11 とある日の勉強会で... • mnm「inline RBSって # @rbs より #: の書き方が主流なのでしょうか?」

    • 神速さん「そうですね、実はもうすぐ RBS::Traceが #: に対応します! 」 RBS::Traceが rbs_colon オプションに対応 🎉🎉🎉
  4. 16 今後やりたいこと - 型情報の追加 • レコード型の定義 ◦ Hashを返すメソッドが多いので、スキーマを定義したい ◦ Hash[untyped]やHash[Symbol,

    Hash[Symbol, Hash[...]]] の改善 • interfaceの定義 ◦ ダックタイプしている箇所の表現を簡潔にする(大量unionを回避) • (型検査するなら) Foo::ActiveRecord_Relationや Foo::ActiveRecord_AssociationRelationなど、ActiveRecord関連の型定義を拡充して いく