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
910
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
1.2k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
430
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.8k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.6k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3.2k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.9k
Beyond ORM
77web
11
2.5k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.8k
Other Decks in Programming
See All in Programming
ファインチューニングせずメインコンペを解く方法
pokutuna
0
250
Codex の「自走力」を高める
yorifuji
0
1.3k
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
300
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
750
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.5k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.4k
Feature Toggle は捨てやすく使おう
gennei
0
400
飯MCP
yusukebe
0
450
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.7k
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
270
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
160
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Speed Design
sergeychernyshev
33
1.6k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Music & Morning Musume
bryan
47
7.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
The Mindset for Success: Future Career Progression
greggifford
PRO
0
290
Building AI with AI
inesmontani
PRO
1
840
BBQ
matthewcrist
89
10k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
620
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