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
Hiromi Hishida
September 21, 2019
Programming
1.2k
2
Share
テストを助けに使って設計を改善しよう~リファクタリングことはじめ~
PHPカンファレンス北海道2019 cfp落選したのでアンカンファレンスで喋ります。
Hiromi Hishida
September 21, 2019
More Decks by Hiromi Hishida
See All by Hiromi Hishida
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
1.1k
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
1.3k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
440
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
9
2.9k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.7k
「それはhowなんよ〜」のガイドライン #orestudy
77web
11
3.4k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
2k
Beyond ORM
77web
11
2.6k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.9k
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.3k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.4k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
220
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
2
400
OSもどきOS
arkw
0
330
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
490
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
470
Modding RubyKaigi for Myself
yui_knk
0
810
誰も頼んでない機能を出荷した話
zekutax
0
150
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Side Projects
sachag
455
43k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Claude Code のすすめ
schroneko
67
220k
Design in an AI World
tapps
1
220
ラッコキーワード サービス紹介資料
rakko
1
3.5M
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
ςετΛॿ͚ʹͬͯ ઃܭΛվળ͠Α͏ ʙϦϑΝΫλϦϯά͜ͱ͡Ίʙ QIQDPOEPΞϯΧϯϑΝϨϯε!XFC
ɾ!XFC ɾϑϦʔϥϯεʢ͙Β͍ʣˠΧϧςοτίϛϡχέʔγϣϯζʢʣ ɾࡳຈੜ·Εࡳຈҭͪʢࡀ·Ͱʣɺ໊ݹࡏॅ ɾࣇͷ ɾຊ4ZNGPOZϢʔβʔձ ɾ$PEFS%PKP໊ݹॳνϟϯϐΦϯʢॾࣄ͋ͬͯҾୀʜʣ ɾ*—1)1
ɾӡ༻ܕࠂۀքΛϗϫΠτʹ͢ΔΈΛ࡞ͬͯ·͢ ɾؒืूதʂʢϑϧϦϞʔτɺύʔτλΠϜɺͪΖΜϑϧ λΠϜਖ਼ࣾһܴʣ
օ͞Μςετίʔυॻ͍ͯ·͢ΑͶʁ
ςετΛॻ͘ͷͳΜͷͨ Ίʁ
ςετΛॻ͘ͷͳΜͷͨ Ίʁ w όά༧ w ༷มߋʹڧ͘͢ΔͨΊ
ςετॻ͘ͷͭΒ͍ͳʔ໘ͩͳʔͬ ͯࢥͬͯ·ͤΜ͔ʁ
ςετ͠ʹ͍͘Ϋϥεʹग़ձͬͨΒɺ ઃܭΛݟͦ͏
ࠓͦͷͨΊʹ͑ΔςΫχοΫΛ ͭհ͠·͢ʂ
ςετ͠ʹ͍͘Ϋϥεྫ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ଞͷΫϥεΛOFXͯ͠Δ TUBUJDϝιουΛ͍ͬͯΔ ςετ͕$POWFSUFSΫϥε'PSNBUUFSΫϥεͷ࣮ʹࠨӈ͞ΕΔ ςετ
ςετ͠ʹ͍͘Ϋϥε վળྫ
ςετ͠ʹ͍͘Ϋϥε վળྫ
ςετ͠ʹ͍͘Ϋϥε վળྫ %*͢Δ &YBNQMF'PSNBUUFSGPSNBU ΛඇTUBUJDԽ
ςετ͠ʹ͍͘Ϋϥε վળྫ $POWFSUFS'PSNBUUFSͷ༰ʹࠨӈ͞Εͳ͘ͳͬͨɻ &YBNQMF"QQΫϥεʹॻ͍ͯ͋Δ͜ͱ͚ͩςετͰ͖͍ͯΔɻ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ ඞཁͳςετύλʔϯ͕ଟ͘ͳΔ ݅ذ͕ଟ͍
ςετ͠ʹ͍͘Ϋϥε վળྫ
ςετ͠ʹ͍͘Ϋϥε վળྫ JGจΛ3FTPMWFSʹஔ͖͑ͨ
ςετ͠ʹ͍͘Ϋϥε վળྫ ͭͷJGจͦΕͧΕͷύλʔϯ͕͍ͭ͘૿͑ͯɺ૿͑ͨύλʔϯ݅ ͚ͩ୯ಠͰςετՃ͢Εྑ͘ͳͬͨɻ ʢ1SPWJEFSͷςετ͚ͩ૿ͤେৎʣ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ
ςετ͠ʹ͍͘Ϋϥεྫ ςετ ϑΝο ͱͳΔ͕ग़ͯ͘Δ ʢ࣮ΫϥεͷӨڹΛड͚͍ͯΔ͔Βʣ ܧঝͨ͠Ϋϥεͷϝιουݺͼग़͠
ςετ͠ʹ͍͘Ϋϥε վળྫ
ςετ͠ʹ͍͘Ϋϥε վળྫ σίϨʔλʔԽ
ςετ͠ʹ͍͘Ϋϥε վળྫ &YBNQMF"QQ5FTU͕#BTF"QQͷ࣮ʹࠨӈ͞Εͳ͘ͳͬͨɻ &YBNQMF"QQΫϥεʹॻ͔Ε͍ͯΔ͜ͱ͚ͩΛςετͰ͖Δɻ
·ͱΊ w ςετରΫϥεͰଞͷΫϥεΛOFX͍ͯ͠ΔTUBUJD ϝιουΛݺͼग़͍ͯ͠ΔˠඇTUBUJDԽ͠Α͏ɻ%*͠Α ͏ɻ w ذ͕ଟ͍ˠετϥςδʔύλʔϯΛ͓͏ w ܧঝ͕͋ΔˠσίϨʔλʔύλʔϯΛ͓͏ ˞ࠓճհͨ͠ςΫχοΫ΄ΜͷҰ෦Ͱ͢ɻ
5IBOLZPV αϯϓϧίʔυɿIUUQTHJUIVCDPNXFCQIQDPOEPFYBNQMF