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
570
モデルの説明コメントを書く文化が会社に浸透してきた話
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
490
Engagement 事業チーム の開発事情
stomk
0
180
7年間開発を続けるサービスを支える 負債返済日の取り組み
stomk
3
2.4k
A/Bテストをやるときに 気をつけていること
stomk
3
1.6k
Other Decks in Programming
See All in Programming
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
530
CSC307 Lecture 13
javiergs
PRO
0
310
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
240
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
510
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
280
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
420
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
210
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How to build a perfect <img>
jonoalderson
1
5.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Design in an AI World
tapps
0
160
YesSQL, Process and Tooling at Scale
rocio
174
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
240
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
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年かけて、皆が恩恵を感じるようになり、書くことが文化として浸透し
てきた