Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
たかが命名、されど命名
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
44
April 04, 2019
Technology
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たかが命名、されど命名
44
April 04, 2019
More Decks by 44
See All by 44
Kotlin MultiPlatform Projectのロマンを語る
44x1carbon
0
550
Vue.jsで考えるMVVM
44x1carbon
0
2.4k
React(Kotlin)でToDoアプリを作ってみた
44x1carbon
2
1.9k
Multiplatform Kotlin
44x1carbon
0
220
Other Decks in Technology
See All in Technology
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
160
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
360
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.5k
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
3
2k
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
210
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
120
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
When Does a Local Qwen Start to Break
morshoto
0
200
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
160
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
950
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Faster Mobile Websites
deanohume
310
32k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Paper Plane (Part 1)
katiecoart
PRO
1
11k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Google's AI Overviews - The New Search
badams
0
1.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Everyday Curiosity
cassininazir
0
310
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Transcript
たかが命名、されど命名 思いやりのある命名をしよう
DDDとの関わり • 専門学校 3年生 「エリック・エヴァンスのドメイン駆動設計 」を読む => 分からなくて読むの諦める • 専門学校
4年生 「実践ドメイン駆動設計」を読む => なんとなく分か… 分からなくて読むの諦める
命名にどれだけ時間を 使ってますか?
プログラミングにおける命名 • クラス名 • メソッド名 • 変数名(ローカル・フィールド)
命名をこだわらなくても動く
なぜ、名前をつけるのか? 自分の書いたコードを理解できるようにする為
その時の自分だけがわかる 命名になりがち
なぜ、名前をつけるのか? 自分の書いたコードを他の人(未来の自分も含む)にも理解できる ようにする為
理解が出来ないことで起こること • 全貌の把握に時間がかかる・把握出来ない • 変更・削除していいものか判断がつかない • 機能追加・変更に臆病になってしまう
サービスの成長が遅くなる
そうならないように 良い命名をしよう!
良い命名とは? 仕様のどの部分を表現しているのかがわかりやすい事 • 探しやすい => パッケージ構成など • 理解がしやすい ◦ 名前が責務を表す
◦ 単語が仕様書に出てくる単語である
良い命名とは? 仕様のどの部分を表現しているのかがわかりやすい事 • 探しやすい => パッケージ構成など • 理解がしやすい ◦ 名前が責務を表す
◦ 単語が仕様書に出てくる単語である
良い命名が出来ない? • 仕様がちゃんと理解出来ていない・詳細に定義されていない • 単語で命名しようとしている 一度やりたいことを文章に書き出して整理しよう • クラスやメソッドが色んな事をしようとしている (多重責務)
全てを説明しようと思い 長い名前になってしまう
長い名前になってしまった時は? • 多重責務になってないか改めて考え、責務を分割しよう • 単語を省略する(おすすめしません) 省略する時は、ルールを決める
省略するのではなくスコープを切る 適切にスコープを切ることで、長い名前を短くする => 〇〇▲▲☆☆を〇〇の▲▲の☆☆にする • インナークラス ResultListItem => ResultList.Item •
クラスのフィールドにする userName => user.name
名前を考える
良い命名をする為の準備 • プログラミングでよく使われるパターン(デザインパターンなど) を覚えよう BuilderやFactory、Dao、Dto • 文法をチームで決めておく 例) メソッド名は 動詞
+ 名詞 など • チーム内での単語帳を作っておく
つけちゃ駄目な名前 • 〇〇Manager => 〇〇を管理するクラス • 〇〇Util => 〇〇を扱う便利メソッドが詰められたクラス 上の名前をつけたくなったらHOWを考えて分解しよう
• 〇〇をどう管理するのか? • 〇〇をどうやって便利にするのか?
良い名前かどうかを判断する方法 • 他の人にコードを呼んでもらう ◦ レビュー ◦ 時間をおいてセルフレビュー
命名だけでは伝えきれない 他の人に伝える方法 • 命名 • コメント • ドキュメント
伝えられる情報量 命名 コメント ドキュメント 少ない 多い
コメントやドキュメントの方が良いのでは?
伝え方とコードとの距離 命名 コメント ドキュメント 近い 遠い
コードとの距離が遠くなれば、情報の鮮度が落ちる コードを修正した時に情報の更新を忘れられ、コードと情報に差 異が生まれる。 コメントとコードで言っていること・やっていることが違うという事態 に
いつ、だれに、どれだけ伝えたいかで 伝え方を選択しよう
まとめ • 良い命名をするのは簡単ではないが、適当な命名をすると後 悔するかも? • 命名だけでは全てを伝えられない、伝える方法にはメリット・デ メリットがある • 良い命名が出来るようになるには、日々訓練するしかない
思いやりをもった命名を!