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
0
580
モデルの説明コメントを書く文化が会社に浸透してきた話
TokyuRuby会議14 の LT (5分) で話したスライドです。
https://tokyurubykaigi.github.io/tokyu14/
Shingo Tomioka
July 29, 2023
Tweet
Share
More Decks by Shingo Tomioka
See All by Shingo Tomioka
Perk アプリの技術選定とリリースから1年弱経ってのふりかえり
stomk
0
500
Engagement 事業チーム の開発事情
stomk
0
180
7年間開発を続けるサービスを支える 負債返済日の取り組み
stomk
3
2.4k
A/Bテストをやるときに 気をつけていること
stomk
3
1.6k
Other Decks in Programming
See All in Programming
AI 開発合宿を通して得た学び
niftycorp
PRO
0
170
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
[SF Ruby Feb'26] The Silicon Heel
palkan
0
130
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
180
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
170
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
160
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
330
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
20260320登壇資料
pharct
0
120
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
290
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
230
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
140
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
330
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
Paper Plane (Part 1)
katiecoart
PRO
0
5.9k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
We Have a Design System, Now What?
morganepeng
55
8k
From π to Pie charts
rasagy
0
160
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
210
Navigating Weather and Climate Data
rabernat
0
150
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
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年かけて、皆が恩恵を感じるようになり、書くことが文化として浸透し
てきた