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
Bulletproof Reactで始める!ESLintで強化する! 効果的なプロダクト開発
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
naro143
November 14, 2023
Technology
680
0
Share
Bulletproof Reactで始める!ESLintで強化する! 効果的なプロダクト開発
# 参考資料
https://github.com/alan2207/bulletproof-react
naro143
November 14, 2023
More Decks by naro143
See All by naro143
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
630
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
40
20k
Other Decks in Technology
See All in Technology
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
2
290
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
120
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
終盤で崩壊させないAI駆動開発
j5ik2o
1
1.5k
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.5k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
"SQLは書けません"から始まる データドリブン
kubell_hr
2
380
【Findy FDE登壇_2026_04_14】— 現場課題を本気で解いてたら、FDEになってた話
miyatakoji
0
1.1k
DevOpsDays Tokyo 2026 見えない開発現場を、見える投資に変える
rojoudotcom
3
180
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
230
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
JOAI2026講評会資料(近藤佐介)
element138
1
110
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Deep Space Network (abreviated)
tonyrice
0
110
WCS-LA-2024
lcolladotor
0
520
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Mind Mapping
helmedeiros
PRO
1
150
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
We Are The Robots
honzajavorek
0
210
The Spectacular Lies of Maps
axbom
PRO
1
690
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
Code Reviewing Like a Champion
maltzj
528
40k
Six Lessons from altMBA
skipperchong
29
4.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Transcript
Bulletproof Reactで始める!ESLintで強化する! 効果的なプロダクト開発
Yusuke Ishimi 株式会社プレックス SaaS事業の立ち上げやっています X : @naro143 🐱: @naro143
時間が足りない
関心事を分けると開発は早くなる
Bulletproof React
React Appのアーキテクチャ 説明と具体例があり非常に良い。 https://github.com/alan2207/bulletproof-react
Project Structure
大事な箇所だけ、さくっと見ます
features
大事な箇所だけ、さくっと見ます
導入してみた
前提 • SaaS事業の立ち上げ期 • 正式リリースに向けてデザインリニューアルをするタイミングで導入 • Next.js 13のプロジェクトに導入 特性 •
市場・顧客の知識が複雑 • 機能の正解がわからない • 副業メンバー多数での開発
シンプルな方針 1つのroutingに対して1つのfeaturesとした。理由は後述。 • src/app/projects • src/features/projects • src/app/projects/[projectId] • src/features/project-detail
こんな感じ ▼page.tsx features/ ▶
良かったこと • 「どこに実装するか?汎用的に実装するか?」で悩む時間が少なくなった。 ◦ プロダクト初期では「同じ UIだけど、同じ責務か?」の判断が難しい。(◀ 方針の理由) ◦ 個人的には「不毛な実装しているな」と感じるまでは共通化はしなくて良いと考えている。 •
影響範囲がfeatures内に閉じるため、考慮事項が少なくなった。 ◦ 副業メンバーなど深く事業に関わらないメンバーがより成果を出せるようになった。 ◦ 挑戦とフィードバックの質が上がり、メンバーの成長が早くなった。 • 構成の指針があることで、自然と責務の分離がされるようになった。
featuresの導入によって、 関心事が分かれて開発が早くなった✨
ESLint
依存関係を制限する • features/ は他のfeaturesを参照しない • components/ はfeaturesを参照しない • lib/ はfeaturesを参照しない
• providers/ はfeaturesを参照しない
index.tsでexportしたものだけ許可する features内は ../ で参照できる。
まだ語りたいけど...!
ここまで!
参考 • https://github.com/alan2207/bulletproof-react