Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DoD x RBS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
dak2
June 05, 2025
23
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DoD x RBS
omotesando.rb#110 のスポンサーLT登壇資料
https://omotesandorb.connpass.com/event/355862/
dak2
June 05, 2025
More Decks by dak2
See All by dak2
現場のトークンマネジメント
dak2
1
230
KaigiEffect.new(name: "dak2").generate
dak2
1
86
No Types Needed, Just Callable Method Check
dak2
1
8.4k
MCP Security Best Practices に見るセキュリティリスクとmodelcontextprotocol/ruby-sdk の authorization の現在地
dak2
0
54
自然言語で ActiveRecord を操作する試み
dak2
0
60
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
Google's AI Overviews - The New Search
badams
0
1.1k
Become a Pro
speakerdeck
PRO
31
6k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
930
Balancing Empowerment & Direction
lara
6
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Navigating Weather and Climate Data
rabernat
0
330
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Music & Morning Musume
bryan
47
7.3k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Transcript
2025/06/05【オフライン開催】Omotesando.rb #110 株式会社タイミー 神山大智 DoD x RBS スポンサーLT @_dak2_
自己紹介 Daichi Kamiyama (@dak2) • 株式会社タイミー(2024年6月入社) • バックエンドエンジニア ◦ 働き手であるワーカーと事業者の出会いを最適化しスケール
させるための改善や機能開発を行なっています ◦ 最近は Devin に対して丁寧にお伺いすることを生業にしてい る
自己紹介 色々あるんですが、 Devin とは仲良くさせて いただいてます
目次 • 会場案内 • 会社紹介 • はじめに - 当時の型付け状況 •
型付け、どこから始める? - 最初の壁 • 私たちの戦略: DoD + RBS = 小さな一歩 • 「差分への型付け」がもたらすもの • まとめ
1 会場案内
• Wifi ◦ SSID:Timee Guest ◦ Pass:guestguest • 注意点 ◦
オープンスペースを出る際は、運営またはタイミー社員に お声がけください。 (セキュリティがかかっているため) 始まる前に
始まる前に トイレ エレベータ
始まる前に エレベータ 喫煙室 ※電子タバコ専用 紙タバコは地下2Fの喫 煙室を利用してください
2 会社紹介
10
型付けの次は型検査
12 12
提供しているインターフェース 対象 プラットフォーム iOS/Android ワーカー クライアント (店舗) クライアント (企業) 社内全般
ActiveAdmin SPA SPA Web taimee-rails-api
提供しているインターフェース 対象 プラットフォーム iOS/Android ワーカー クライアント (店舗) クライアント (企業) 社内全般
ActiveAdmin SPA SPA Web 裏側は(ほぼ)全て モノリスRailsで動いている
カジュアル面談はこちらから!
3 型付けの話
目次 • 会場案内 • 会社紹介 • 当時の型付け状況 <= イマココ •
型付け、どこから始める? • チーム戦略: DoD + RBS = 小さな一歩 • 「差分への型付け」がもたらすもの • 型付けの次は型検査 • まとめ
初めに結論 DoD(Definition of Done) ✖ RBS
当時の型付けの状況
• 2024年7-8月 ◦ YARD から rbs-inline に書き換え ▪ それまでは混在していた •
2024年8月 ◦ 型アノテーションを書くなら rbs-inline が Must 当時の型付けの状況
当時の型付けの状況 rbs-inline を本格的に書いていくぞ!という立ち 上げ段階
型付け、どこから始める?
型付け、どこから始める? rbs-inline を本格的に書いていくぞ! …とは言ったものの • 既存の巨大なコードベース: どこから手をつければ? • 途方もない作業量: 心が折れそう...
• 効果が遅効性: すぐに型検査の恩恵を受けられるわけではない
チーム戦略: DoD + RBS = 小さな一歩
チーム戦略: DoD + RBS = 小さな一歩 Definition of Done (DoD)
とは? 完成の定義とは、プロダクトの品質基準を満たすインクリメントの 状態を示した正式な記述である。 プロダクトバックログアイテムが完成の定義を満たしたときにイン クリメントが誕生する。 ref. https://scrumguide-ja.kdmsnr.com/#komittomentono
チーム戦略: DoD + RBS = 小さな一歩 https://tech.timee.co.jp/entry/ 2024/08/05/110000
チーム戦略: DoD + RBS = 小さな一歩 Done の定義としてチームでは 変更差分に対しては、必ず rbs-inline
を書くように ✅ *プロダクト全体の型定義はスプリント内で チェックするには現実的に無理なので、これ自 体はUndone とし、変更差分に対して守るよう にしています
チーム戦略: DoD + RBS = 小さな一歩 • 補足 ◦ sinsoku
さんが RubyKaigi で発表されていた rbs-trace もうまく活 用できそうだなと思ってます ▪ https://github.com/sinsoku/rbs-trace
「差分への型付け」がもたらすもの
「差分への型付け」がもたらすもの • 心理的ハードルの低減 ◦ 対象範囲がスプリント内の変更に限定されるため、 manageable。 ◦ 「これくらいならやれそう」という気持ちに。 • 習慣化の促進
◦ スプリントごとに必ず型に触れる機会ができる。 ◦ 「型を書く」ことが当たり前の文化へ。 • 漸進的な導入 ◦ 少しずつ型のあるコードが増えていく。 ◦ チーム全体で型への意識が自然と高まる ◦ 特に差分だけレビュー時に確認するので、実装との整合性を意識した型付けが可能 ▪ 一気に型付けすると、適切でない型付けをスルーしちゃいがち
「差分への型付け」がもたらすもの • シンプルな戻り値をシンプルに保つ力学が働く ◦ 複雑な型を返そうとしているときはメソッドの設計がおかしい ◦ 自然とメソッドの戻り値をシンプルに保とうとする力学が働く ◦ “型”を媒介にして、設計に対するFBがかかりやすくなる印象がある
型付けの次は型検査 • 型検査の実行 ◦ 型付けするだけではあまりメリットがなくて、型検査をしてちゃんとしたメリット が享受できる ◦ 最近全てのパッケージが型検査対象になりました🎉 ▪ ただ、`steep:ignore`
で型検査を無視している箇所もあったりするので、 そこの対応は必要 ◦ 整合性のある型付けができているかの確認 ▪ これは一気にやろうとするのではなく、エンカウントした時に対応していく 方が現実的かもしれない
まとめ
まとめ • DoD ✖ RBS は現実的な型付け戦略 • 差分に対して RBSを書くことでコードへ FBをか
けやすい