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
Shingo Tomioka
July 29, 2023
Programming
0
540
モデルの説明コメントを書く文化が会社に浸透してきた話
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
370
Engagement 事業チーム の開発事情
stomk
0
150
7年間開発を続けるサービスを支える 負債返済日の取り組み
stomk
3
2.4k
A/Bテストをやるときに 気をつけていること
stomk
3
1.6k
Other Decks in Programming
See All in Programming
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
620
Navigating Dependency Injection with Metro
zacsweers
3
2.5k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.5k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
470
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
340
AIコーディングAgentとの向き合い方
eycjur
0
280
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.4k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
The Invisible Side of Design
smashingmag
301
51k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Designing Experiences People Love
moore
142
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
We Have a Design System, Now What?
morganepeng
53
7.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
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年かけて、皆が恩恵を感じるようになり、書くことが文化として浸透し
てきた