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
クリーンアーキテクチャ導入が、 どのような作業に影響を及ぼすのか考察
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuto Nakano
January 21, 2020
Technology
0
120
クリーンアーキテクチャ導入が、 どのような作業に影響を及ぼすのか考察
プロジェクトにクリーンアーキテクチャを導入して起きた変化を表に視覚化しました。
Yuto Nakano
January 21, 2020
Tweet
Share
More Decks by Yuto Nakano
See All by Yuto Nakano
Grow with people, not just features
yutonakano
0
34
機能より人で伸ばす - 個人開発アプリ収益化までの道 -
yutonakano
0
250
同時に複数購読可能なサブスクリプションを提供する
yutonakano
0
110
武蔵小山infoアプリ
yutonakano
0
32
Other Decks in Technology
See All in Technology
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
290
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
550
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
4.9k
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
290
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
2.9k
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
270
しろおびセキュリティへ ようこそ
log0417
0
220
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
390
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
250
メルカリのAI活用を支えるAIセキュリティ
s3h
8
5.6k
Azure SQL Databaseでベクター検索を活用しよう
nakasho
0
130
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
150
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
Chasing Engaging Ingredients in Design
codingconduct
0
110
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
WENDY [Excerpt]
tessaabrams
9
36k
Between Models and Reality
mayunak
1
180
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
77
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
720
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
260
Transcript
クリーンアーキテクチャ導入が、 どのような作業に影響を及ぼすのか考察
自己紹介
中野 湧仁 iOS @yuto_nakano44
中野 湧仁 iOS @yuto_nakano44
What’s fanc?
新機能ゾクゾク開発中!!
本題
クリーンアーキテクチャ導入が、 どのような作業に影響を及ぼすのか考察
調べた目的: • 自分自身、クリーンアーキテクチャを導入することのメリットが明確に理解できて いなかった • fancアプリで今後のグロースに向け、クリーンアーキテクチャ導入した。導入に より、どの作業が短縮され、開発の高速化を実現しているのかを視覚化し、理 解を深めたい
一つのタスクに対して時間を使っていること: 開発前 開発中 開発後 • 仕様確認 • 担当分け • 実装プラン検討
• コードリーディング • ロジックを考える • コードを書く • PR作成 • コードレビュー • 保守作業
クリーンアーキテクチャ導入前 • Requestの呼び出し • データをインスタンス変数で管理 Model • Model内のインスタンス変数を RxSwiftで購読 •
表示・ドメインロジック実装 ViewController
クリーンアーキテクチャ導入後
クリーンアーキテクチャ導入後 ViewController View Presenter Presentation Layer UseCase Repository Domain Layer
Entity DataStore Data Layer Model
• レイヤーやクラスが責務によって分かれた • 開発者同士で共通認識が生まれた • 実装に統一感が生まれた • ファイル(クラス)数が増えた クリーンアーキテクチャ導入後の変化:
一つのタスクに対して時間を使っていることと照らし合わせ て検証: 速度向上 変化なし 遅くなった
クリーンアーキテクチャ後の開発速度: 機能開発前 仕様確認 実装プラン検討 担当分け レイヤー・クラス が分かれた 共通認識ができた 実装に統一感ができた ファイル数が増えた
機能開発中 コードリーディン グ ロジックを 考える コードを 書く レイヤー・クラス が分かれた 共通認識ができた
実装に統一感ができた ファイル(クラス) 数が増えた クリーンアーキテクチャ後の開発速度:
機能開発後 PR作成 コードレビュー 保守作業 レイヤー・クラス が分かれた 共通認識ができた 実装に統一感ができた ファイル(クラス) 数が増えた
クリーンアーキテクチャ後の開発速度:
fancアプリにおいて特に効果が高かったポイント: 高速開発 ポイント1 高速開発 ポイント2 高速開発 ポイント3 共通認識の用語やオブジェクトができ、 タスクの分業や、見積もりがしやすくなった! クラスやメソッドの役割が明確になり、
保守しやすくなった! 属人化した処理が書けなくなり、 コードレビュー・保守作業が高速化 !
• なぜ,クリーンアーキテクチャを導入した方が、高速開発しやすくなるのか自分 の手を動かしながら理解できた。 • プロジェクト経験が少ないので、他プロジェクトの事例を学び、理解を深めて いきたい。 まとめ:
Thank You!