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
81
武蔵小山infoアプリ
yutonakano
0
23
Other Decks in Technology
See All in Technology
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
130
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
440
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
530
AWSで始める実践Dagster入門
kitagawaz
1
590
Agile PBL at New Grads Trainings
kawaguti
PRO
1
400
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
300
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
540
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
160
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
160
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
210
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
190
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Bash Introduction
62gerente
615
210k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Into the Great Unknown - MozCon
thekraken
40
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Documentation Writing (for coders)
carmenintech
74
5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
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!