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
Embedded frameworkを利用して既存プロジェクトでも爆速でTDD
Search
shindyu
March 26, 2019
Technology
2
1k
Embedded frameworkを利用して既存プロジェクトでも爆速でTDD
shindyu
March 26, 2019
Tweet
Share
More Decks by shindyu
See All by shindyu
iPhone へのマイナンバーカード搭載におけるデータ規格についての理解を深める
shindyu
2
1.8k
DI-antiPattern.pdf
shindyu
0
89
テスト駆動で会社アプリと個人アプリを開発してみて思ったこと
shindyu
0
730
Other Decks in Technology
See All in Technology
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
470
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
400
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
270
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.5k
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
290
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
200
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
1k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
200
Identity Management for Agentic AI 解説
fujie
0
490
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
2k
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.2k
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.3k
Featured
See All Featured
Paper Plane
katiecoart
PRO
0
44k
Are puppies a ranking factor?
jonoalderson
0
2.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
How STYLIGHT went responsive
nonsquared
100
6k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
iOS #5 Copyright © 2019 Yahoo Japan Corporation. All Rights
Reserved. Embedded frameworkΛར༻ͯ͠طଘϓϩδΣΫτͰരͰTDD 2019.03.26[TUE] @LODGE Ϡϑʔגࣜձࣾ ৽ಊ ܟོ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. ৽ಊ
ܟོ ϠϑΦΫ! iOSΤϯδχΞ TDD, PairPrograming @shindyu
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. એʂ
@ٕज़ॻయ̑ ͞ΘֶͬͯΔ! iOSςετۦಈ։ൃ https://booth.pm/ja/items/1040471
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. TDDͯ͠·͔͢ʁ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. ϠϑΦΫ!
iOS • 2010͔Β։ൃ։࢝ • Swift: 20ສߦ / Objc: 11ສߦ • 2017ࠒ͔Β։ൃख๏ʹXPಋೖ ɹˠ TDDʴϖΞϓϩ ɹˠ test 3500έʔεҎ্
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. XPΛಋೖ͔ͯ͠Β
ϖΞϓϩɾϖΞϩʔς͢Δ͜ͱͰνʔϜͷٕज़ྗUP ίʔυϨϏϡʔͷετϨε͔Βղ์ TDDʹΑΔ৺ཧత҆શ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. XPΛಋೖ͔ͯ͠Β
ϖΞϓϩ͢Δ͜ͱͰνʔϜͷٕज़ྗUP ίʔυϨϏϡʔͷετϨε͔Βղ์ TDDʹΑΔ৺ཧత҆શ TDDͰRed, Green, RefactorͷϦζϜ͕େࣄ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. XPΛಋೖ͔ͯ͠Β
ϖΞϓϩ͢Δ͜ͱͰνʔϜͷٕज़ྗUP ίʔυϨϏϡʔͷετϨε͔Βղ์ TDDʹΑΔ৺ཧత҆શ TDDͰRed, Green, RefactorͷϦζϜ͕େࣄ ⚠ςετͷϏϧυ/࣮ߦ͕࣌ؒ૿Ճ⚠ → ϖΞϓϩͰͷίετഒ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. CleanArchitecture
+ Embedded frameworkΛ࠾༻
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. CleanArchitecture
+ Embedded frameworkΛ࠾༻ CleanArchitectureͰΛׂ → ׂ͕͞ΕΔ͜ͱͰςετ͕༰қʹͳΔ ׂͨ͠ϞδϡʔϧΛEmbedded frameworkʹ → λʔήοτׂ͢Δ͜ͱͰϏϧυ͕࣌ؒॖ͞ΕΔ → είʔϓ͕খ͘͞ͳͬͯࠩϏϧυޮ͖͘͢ͳΔ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. ܭଌ݁Ռ
ΫϦʔϯϏϧυ࣌ؒʢFramework: 6000ߦʣ App: 530s Framework: 18s શςετ࣮ߦ࣌ؒʢApp: 3500case / Framework: 200caseʣ App: 102s Frameworkɿ1s
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. Project
files • App • View / Repository / … • Domain • Presenter / UseCase / Entity / … • PresenterͷςετΛް͍ͨ͘͠ͷͰ ͋͑ͯFrameworkଆʹஔ͍͍ͯΔ • ҎલView͔ΒςετΛॻ͍͍͕ͯͨ Presenter͔Βॻ͘Α͏ʹͨ͠
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. How
to TDD 1. PresenterTestsͰςετΛॻ͘ 2. PresenterTestsΛ௨͢ 3. UIͱPresenter,OutputΛܨ͙
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. How
to TDD 1. PresenterTestsͰςετΛॻ͘ 2. PresenterTestsΛ௨͢ 3. UIͱPresenter,OutputΛܨ͙ Presenter, UseCase, Outputͷ InterfaceΛߟ͑Δ 1SFTFOUFS5FTUTTXJGU
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. How
to TDD 1. PresenterTestsͰςετΛॻ͘ 2. PresenterTestsΛ௨͢ 3. UIͱPresenter,OutputΛܨ͙ PresenterProtocol, PresenterImpl, UseCaseProtocol, OutputProtocolͷ࣮
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. How
to TDD 1. PresenterTestsͰςετΛॻ͘ 2. PresenterTestsΛ௨͢ 3. UIͱPresenter,OutputΛܨ͙ UIEvent → Presenter Output → UIө
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. How
to TDD 1. PresenterTestsͰςετΛॻ͘ 2. PresenterTestsΛ௨͢ 3. UIͱPresenter,OutputΛܨ͙ UIEvent → Presenter Output → UIө ⌘+Ctrl+[ or ⌘+Ctrl+]
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. ·ͱΊ
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved. ·ͱΊ
CleanArchitecture + Embedded FrameworkΛ࠾༻ͨ͠ طଘϓϩδΣΫτͰരͰTDDग़དྷΔΑ͏ʹͳͬͨ രTDDͰ։ൃޮUpʂ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠