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
naro143
November 14, 2023
Technology
0
570
Bulletproof Reactで始める!ESLintで強化する! 効果的なプロダクト開発
# 参考資料
https://github.com/alan2207/bulletproof-react
naro143
November 14, 2023
Tweet
Share
More Decks by naro143
See All by naro143
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
240
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
36
12k
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
160
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
140
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
3
1.8k
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.5k
フレームワークを意識させないワークショップづくり
keigosuda
0
180
20251010_HCCJP_AdaptiveCloudUpdates
sdosamut
0
130
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
2
620
Git in Team
kawaguti
PRO
3
370
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
130
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
Code Review Best Practice
trishagee
72
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Writing Fast Ruby
sferik
629
62k
Facilitating Awesome Meetings
lara
56
6.6k
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