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
1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Embedded frameworkを利用して既存プロジェクトでも爆速でTDD
shindyu
March 26, 2019
More Decks by shindyu
See All by shindyu
iPhone へのマイナンバーカード搭載におけるデータ規格についての理解を深める
shindyu
2
2.1k
DI-antiPattern.pdf
shindyu
0
100
テスト駆動で会社アプリと個人アプリを開発してみて思ったこと
shindyu
0
760
Other Decks in Technology
See All in Technology
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
950
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
230
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
0
140
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
1
450
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
240
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
3
4.2k
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
400
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
230
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
300
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Navigating Team Friction
lara
192
16k
Why Our Code Smells
bkeepers
PRO
340
58k
Writing Fast Ruby
sferik
630
63k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
The Language of Interfaces
destraynor
162
27k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Testing 201, or: Great Expectations
jmmastey
46
8.2k
A Tale of Four Properties
chriscoyier
163
24k
We Have a Design System, Now What?
morganepeng
55
8.2k
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ʂ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠