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
80
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
320
N度目のObsidian挑戦
airrnot1106
0
93
BCD Designに学ぶ、package by featureのための一貫したfeatureの切り方
airrnot1106
0
1.4k
Other Decks in Technology
See All in Technology
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
310
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
180
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
130
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
730
会社説明資料
persolserverworks
0
9.8k
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
5
4.6k
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
100
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
910
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
Optunaの最新リリースv5.0について
pfn
PRO
0
110
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The Curious Case for Waylosing
cassininazir
1
570
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Producing Creativity
orderedlist
PRO
348
41k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Deep Space Network (abreviated)
tonyrice
0
370
Embracing the Ebb and Flow
colly
88
5.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
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