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
コンポーネント名には何を含めるべきなのか? / what-should-be-included...
Search
airRnot
July 27, 2026
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airRnot
July 27, 2026
More Decks by airRnot
See All by airRnot
コンポーネント命名入門 / getting-started-with-component-naming
airrnot1106
0
80
N度目のObsidian挑戦
airrnot1106
0
93
BCD Designに学ぶ、package by featureのための一貫したfeatureの切り方
airrnot1106
0
1.4k
Other Decks in Technology
See All in Technology
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
160
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
690
Browser Spec: Testing Hotwire with Ruby
takahashim
1
110
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
430
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
120
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
USB PDを使ってスマホを労わりたい
raspython3
0
170
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
150
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
450
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
740
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
The browser strikes back
jonoalderson
0
1.8k
We Have a Design System, Now What?
morganepeng
55
8.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Transcript
コンポーネント名には 何を含めるべきなのか? airRnot / @airRnot1106 2026/07/27 # 雑 LT_study
自己紹介 airRnot • 24 卒 • フロントエンドエンジニア • Next.js と
Neovim と Nix が好き • : @airRnot1106 • : @airRnot1106 1 / 13
突然ですが……
これは何でしょう? 2 / 13
(ヒント: 「す」が「ない」から…… 👍) 2 / 13
正解は…… 3 / 13
「す」がない五十音表 4 / 13
え、ナイス?? 5 / 13
コンポーネント名を考えるとき、 これを「ナイス」ではなく 「 『す』がない五十音表」と 捉えられる感覚が重要!! 6 / 13
つまり……?
命名に必要なのは、 連想する能力ではなく 物事のありのままの 性質・依存関係を見抜く能力 7 / 13
命名の話
命名とは? コンテキストが持つ概念を明らかにし、一定の順序で並べること コンポーネントだと…… コメントを 投稿する フォーム • コメント: 関心 •
投稿する: 状況 • フォーム: 基礎 3 つの概念によって構成されている 8 / 13
命名とは? すべてのコンポーネントは、以下の 4 種類のいずれかに分類できる • 基礎 : アイコン • 状況
+ 基礎 : 検索アイコン • 関心 + 基礎 : ユーザーアイコン • 関心 + 状況 + 基礎 : ユーザーを検索するアイコン 9 / 13
命名とは? 特に重要なのは基礎 基礎とは、UI としての型で、基礎的な機能そのものを指す フォーム / ボタン / テキストボックス /
ダイアログ / ドロップダウ ン / タブ / スライダー / カレンダー / チェックボックス / ラジオボタ ン / トグルスイッチ / プログレスバー / スピナー / ツールチップ / ポップオーバー / アコーディオン / カード / リスト / テーブル / サイ ドバー / フッター / etc… 10 / 13
命名とは? 曖昧なコンポーネント名には、基礎が含まれていないことが多い ~Info / ~Pickup / ~Result → UI の型を捉えて、コンポーネント名に反映させよう
~InfoBar / ~PickupList / ~ResultCard 「捉えて、反映させる」 ―― これが命名の肝! 11 / 13
命名とは? 関心と状況も同様 コンポーネントは、すでにそれらを持っている コンポーネント名は決めるものではなく その性質や依存によって勝手に決まるもの 我々はその名前を明らかにするだけ 命名ではなく、明名しよう! 12 / 13
明名とは? コンテキストが持つ概念を明らかにし、一定の順序で並べること より詳しい解説は、こちらの記事をご覧ください 13 / 13