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
YUTO NAKANO
January 21, 2020
Technology
0
110
クリーンアーキテクチャ導入が、 どのような作業に影響を及ぼすのか考察
プロジェクトにクリーンアーキテクチャを導入して起きた変化を表に視覚化しました。
YUTO NAKANO
January 21, 2020
Tweet
Share
More Decks by YUTO NAKANO
See All by YUTO NAKANO
同時に複数購読可能なサブスクリプションを提供する
yutonakano
0
48
武蔵小山infoアプリ
yutonakano
0
20
Other Decks in Technology
See All in Technology
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
170
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
590
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
230
podman_update_2024-12
orimanabu
1
280
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
540
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
17
4.8k
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Language of Interfaces
destraynor
154
24k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Typedesign – Prime Four
hannesfritz
40
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
For a Future-Friendly Web
brad_frost
175
9.4k
How to Ace a Technical Interview
jacobian
276
23k
Unsuck your backbone
ammeep
669
57k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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!