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
コンポーネント命名入門 / getting-started-with-component-na...
Search
airRnot
September 04, 2026
Technology
85
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンポーネント命名入門 / getting-started-with-component-naming
airRnot
September 04, 2026
More Decks by airRnot
See All by airRnot
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
340
N度目のObsidian挑戦
airrnot1106
0
100
BCD Designに学ぶ、package by featureのための一貫したfeatureの切り方
airrnot1106
0
1.4k
Other Decks in Technology
See All in Technology
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
270
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
110
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
110
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
0
130
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
190
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
200
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
210
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
360
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
480
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
160
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
200
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Between Models and Reality
mayunak
4
560
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
360
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Odyssey Design
rkendrick25
PRO
2
930
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
How STYLIGHT went responsive
nonsquared
100
6.4k
Crafting Experiences
bethany
1
430
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
430
Color Theory Basics | Prateek | Gurzu
gurzu
1
510
Are puppies a ranking factor?
jonoalderson
2
4.1k
Transcript
コンポーネント命名入門 airRnot / @airRnot1106 2026/09/04 新卒 N 年目の LT 交流会
#5
自己紹介 airRnot • 24 卒 • フロントエンドエンジニア • Next.js と
Neovim と Nix が好き • : @airRnot1106 • : @airRnot1106 1 / 13
命名、好きですか?
わたしは大好きです
今日持ち帰れるもの • 命名に必要な考え方 ‣ 一貫性と対称性 • 実際に命名するためのテクニック ‣ 「何の何をどうする UI」のフレーズ
2 / 13
命名に必要な考え方
一貫性 名前を構成している概念が、一定の順序で並んでいること 関心 -> 状況 -> 基礎 例: ユーザーを追加するアイコン(user-add-icon) •
関心: ユーザー • 状況: 追加する • 基礎: アイコン 3 / 13
一貫性 命名パターンは以下の 4 種類に分類できる 関心 状況 追加する ユーザー ユーザーを +
基礎 + + 追加する + アイコン = アイコン = アイコン = アイコン = 4 / 13
一貫性 ❌ のように順番が入れ替わってはいけない ⚠ 関心と状況は抜ける場合がある ⚠ 基礎は必ず存在する add-user-icon 5 /
13
対称性 同じ粒度のコンポーネントが、同じ密度の名前になっていること 名前の密度: 関心・状況・基礎のうち、いくつの概念が 名前に含まれているか • フォーム(form): 密度 1 •
コメントフォーム(comment-form): 密度 2 6 / 13
対称性 新たに「コメントを編集するフォーム」を追加することになりました comment-edit-form: 密度 3 投稿するフォーム 編集するフォーム しかし、comment-formとcomment-edit-formは 役割が対称的なので密度も揃えたい comment-post-form
とすることで、密度が 3 になり対称的になった 7 / 13
対称性 ⚠ 暗黙的な状況の概念をしっかりと名前に含めることが重要 ⚠ 後から類似のコンポーネントがでてきたときに、 ⚠ 名前の密度は最初からできるだけ大きくする 密度が揃えられるように気をつける 8 /
13
実際に命名するための テクニック
何の何をどうする UI 簡単に一貫性と対称性を保った命名をするためのフレーズ 実はもうやってます! 何を どうする UI 「ユーザー」を 「追加」する 「アイコン」
「コメント」を 「投稿」する 「フォーム」 コンポーネントを見かけたら、このフレーズに沿って命名してみよう 9 / 13
何の何をどうする UI 練習問題 何の 何を サイトの テーマを どうする UI 切替する
ドロップ ダウン site_theme-switch-dropdown 10 / 13
何の何をどうする UI 練習問題 何を どうする UI 終了した イベントを 表示する リスト
past_event-list ⚠ 「表示する」は情報量が無いので省略可能 11 / 13
まとめ • コンポーネント名は関心・状況・基礎の概念で構成されている • 命名は一貫性と対称性を意識する • いきなり英語で命名するのではなく、まずは 「何の何をどうする UI」のフレーズに沿って日本語で命名してみる 12
/ 13
参考文献 • BCD Design によるコンポーネントの分類 https://qiita.com/misuken/items/19f9f603ab165e228fe1 • ニコニコ生放送で BCD Design
を 4 年運用した知見(導入編) https://zenn.dev/misuken/articles/93f6f47eb05b94 13 / 13