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
2
1.1k
テストを助けに使って設計を改善しよう~リファクタリングことはじめ~
PHPカンファレンス北海道2019 cfp落選したのでアンカンファレンスで喋ります。
Hiromi Hishida
September 21, 2019
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
Beyond ORM
77web
11
1.7k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.3k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
200
すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
77web
9
4.7k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
900
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
300
100%出しきれないのを許すスクラムチーム運営
77web
1
330
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.7k
モデルとはなにか / what is model?
77web
7
3.2k
Other Decks in Programming
See All in Programming
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
390
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
740
Rubyと自由とAIと
yotii23
6
1.8k
Learning Kotlin with detekt
inouehi
1
160
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.4k
バッチを作らなきゃとなったときに考えること
irof
2
550
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
340
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
19
4.2k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.5k
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Bash Introduction
62gerente
611
210k
Rails Girls Zürich Keynote
gr2m
94
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Fireside Chat
paigeccino
35
3.2k
Side Projects
sachag
452
42k
The Language of Interfaces
destraynor
156
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Done Done
chrislema
182
16k
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