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
モデルの説明コメントを書く文化が会社に浸透してきた話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shingo Tomioka
July 29, 2023
Programming
590
0
Share
モデルの説明コメントを書く文化が会社に浸透してきた話
TokyuRuby会議14 の LT (5分) で話したスライドです。
https://tokyurubykaigi.github.io/tokyu14/
Shingo Tomioka
July 29, 2023
More Decks by Shingo Tomioka
See All by Shingo Tomioka
Perk アプリの技術選定とリリースから1年弱経ってのふりかえり
stomk
0
550
Engagement 事業チーム の開発事情
stomk
0
190
7年間開発を続けるサービスを支える 負債返済日の取り組み
stomk
3
2.5k
A/Bテストをやるときに 気をつけていること
stomk
3
1.7k
Other Decks in Programming
See All in Programming
Swiftのレキシカルスコープ管理
kntkymt
0
210
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
さぁV100、メモリをお食べ・・・
nilpe
0
120
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
AIとRubyの静的型付け
ukin0k0
0
500
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.8k
ふつうのFeature Flag実践入門
irof
7
3.4k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
340
GitHub Copilot CLIのいいところ
htkym
2
1.2k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
260
関係性から理解する"同一性"の型用語たち
pvcresin
2
630
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
690
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
From π to Pie charts
rasagy
0
200
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Optimising Largest Contentful Paint
csswizardry
37
3.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Marketing to machines
jonoalderson
1
5.3k
The Language of Interfaces
destraynor
162
26k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
Transcript
© 2023 Wantedly, Inc. モデルの説明コメントを書く文化 が会社に浸透してきた話 TokyuRuby会議14 LT Jul. 29
2023 - 富岡 真悟
自己紹介 © 2023 Wantedly, Inc. 富岡 真悟 Wantedly, Inc. (2017~)
3~4年くらい前から顕著になってきた課題 モデルに関するドメイン知識がわからなくて 開発やデータ分析の効率が下がる • コードベースの大規模化 ◦ → 各メンバーが触ったことがない領域が増加 ◦ メインの
Rails アプリのモデル数が 400くらい • メンバーの入れ替わりの増加 ◦ 初期の土台を作ったメンバーの退職 ◦ 専門の PdM、データサイエンティスト、データアナリストなどもジョイン • コロナによるリモートワークの開始 ◦ → 詳しい人にさっと聞きにいく、がやりにくくなった © 2023 Wantedly, Inc. 背景 例:「このモデル何?」「このカラム何?」「このカラムが NULL になるのってどういうとき?」 ...
解決策 各モデルのソースコードの先頭に、 モデルの概要と各カラムの説明をコメントで書く © 2023 Wantedly, Inc. ⁝ 例: app/models/candidacy.rb
の先頭に...
解決策 © 2023 Wantedly, Inc. ① モデル名と日本語名 ② モデルの概要 •
どういう役割を持つのか • どういうときに作成/更新/ 削除されるのか • 外部ドキュメントのリンク • etc. ⁝
③ 各カラムの説明 解決策 © 2023 Wantedly, Inc. ⁝ ④ 今は使われてないカラム
の説明
• 実装に近い場所にあるので、 ◦ 参照しやすい ◦ 更新されやすい = 風化しにくい ソースコードにコメントで書くことの利点 -
外部ドキュメントに書く場合と比較して © 2023 Wantedly, Inc.
ただし モデルの数が膨大 (400くらい)。 一つ一つ調べて書いていくのは 手間がかかる... © 2023 Wantedly, Inc.
どのように増やしてきたか • 毎月の負債返済日に書く • 調べたときについでに書く • 詳しくない領域を触ることになったときに調べて書く • 退職する人に詳しいところを書いていってもらう •
etc. © 2023 Wantedly, Inc.
取り組みを開始してから約3年 - 今どれくらいになったか • 重要度の高いモデルはおおよそカバーされてきた • 割合で言うと2割くらい ◦ 100% にならなくてもいい
© 2023 Wantedly, Inc.
結果 開発もデータ分析も一定効率が上がった © 2023 Wantedly, Inc.
社内の声を抜粋 ① © 2023 Wantedly, Inc.
社内の声を抜粋 ② © 2023 Wantedly, Inc.
• あんまり詳しくない領域を触ることになったときにばっと調 べて書く、というムーブが自然に起きるようになってきた ◦ 「◯◯機能のリニューアルをするので、土台作りに、モデルを調べ てコメント書きます」 ◦ 書くということが文化して根付いてきた 個人的によかったと思っていること ©
2023 Wantedly, Inc.
なぜ自然に書くムーブが起きるようになってきたか © 2023 Wantedly, Inc.
まとめ © 2023 Wantedly, Inc. • 開発やデータ分析をしやすくするために、モデルのソースコードにコメント で説明を書く取り組みを始めた • 2~3年かけて、皆が恩恵を感じるようになり、書くことが文化として浸透し
てきた