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
TDDワイワイ会
Search
Shuhei TAKASUGI
May 19, 2019
Programming
1
4.9k
TDDワイワイ会
TDDワイワイ会で使っている資料です。
https://tddyyx.connpass.com/
Shuhei TAKASUGI
May 19, 2019
Tweet
Share
More Decks by Shuhei TAKASUGI
See All by Shuhei TAKASUGI
TDDワイワイ会inXP祭り2018
shuyuhey
1
2.3k
Other Decks in Programming
See All in Programming
Building AI with AI
inesmontani
PRO
1
250
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
0
380
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
150
無秩序からの脱却 / Emergence from chaos
nrslib
1
6.4k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
750
Flutterチームから作る組織の越境文化
findy_eventslides
0
530
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
5
6.6k
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
320
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
1.9k
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
320
物流DXを支える“意味”の設計:セマンティックレイヤーとAIで挑むデータ基盤/登壇資料(飯塚 大地)
hacobu
PRO
0
110
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
650
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
680
A designer walks into a library…
pauljervisheath
210
24k
How STYLIGHT went responsive
nonsquared
100
5.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
What's in a price? How to price your products and services
michaelherold
246
12k
Music & Morning Musume
bryan
46
7k
A Tale of Four Properties
chriscoyier
162
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Transcript
5%%ϫΠϫΠձ
5%%ϫΠϫΠձͱ w5%%ͱϞϒϓϩάϥϛϯάͷΓํΛ ମݧ͢ΔͰ͢ wզʑʮےτϨʯͱݺͿ͜ͱ͕ଟ͍Ͱ͢
֬ೝࣄ߲ ˞Ϟϒϓϩάϥϛϯάͷ༷ࢠΛ ࡱӨ͢Δ͜ͱ͕͋Γ·͢ ࣸΓͨ͘ͳ͍ํɺෆ߹ͷ͋Δํ ༧Ί͓͑Լ͍͞
4/4 wϋογϡλά͋Γ·͢ʂ #tddyyχ ͜ΕΤοΫεͰͳ͘ΧΠͰ͢
λΠϜϥΠϯ wdΠϯτϩࣗݾհνʔϜ͚ wdΏΔΏΔͱϞϒϓϩάϥϛϯά wdதؒ;Γ͔͑Γ wdΏΔΏΔͱϞϒϓϩάϥϛϯά wd;Γ͔͑Γ
5%%ͱ Ϟϒϓϩάϥϛϯά
ςετۦಈ։ൃ w ʮಈ࡞͢Δ͖Ε͍ͳίʔυʯ 3PO+F⒎SJFT ͕ΰʔϧ έϯτɾϕοΫஶ ʢ৽༁ʣΦʔϜࣾ
ݪஶ ͖Ε͍ Ԛ͍ ಈ࡞͠ͳ͍ ಈ࡞͢Δ
ςετۦಈ։ൃ w ιϑτΣΞ։ൃʹ͓͚Δෆ҆Λ؇͠ ͍ͨ w z։ൃzʹͪΖΜzઃܭzؚΜͰ͍Δ w lઃܭzίʔσΟϯάʹΑͬͯͳ͞ΕΔ w গͣͭ͠ઃܭ͠ͳ͕Β࡞ΓࠐΉ
έϯτɾϕοΫஶ ʢ৽༁ʣΦʔϜࣾ ݪஶ
ςετۦಈ։ൃ wςετϑΝʔετͷ Ξϓϩʔν w ςετΛॻ͘ʢϨουʣ w ࣮͢ΔʢάϦʔϯʣ w ͖Ε͍ʹ͢Δ ʢϦϑΝΫλϦϯάʣ
έϯτɾϕοΫஶ ʢ৽༁ʣΦʔϜࣾ ݪஶ
ςετۦಈ։ൃ w Ϩουɿ ಈ࡞͠ͳ͍ɺ͓ͦΒ͘࠷ॳͷ͏ͪ ίϯύΠϧ௨Βͳ͍ςετΛͭॻ͘ w άϦʔϯɿ ͦͷςετΛਝʹಈ࡞ͤ͞Δɻͱ͖ʹ ΠϯνΩͰ͚ͬͭͰ͍͍ w
ϦϑΝΫλϦϯάɿ ςετ͕ύεͨ͠··ͷঢ়ଶͰ ॏෳΛআڈͨ͠ΓίʔυΛ͖Ε͍ʹ͢Δ έϯτɾϕοΫஶ ʢ৽༁ʣΦʔϜࣾ ݪஶ
ςετۦಈ։ൃ w ϨουɾάϦʔϯɾϦϑΝΫλϦϯάΛ ܁Γฦ͠ΠϯΫϦϝϯλϧʹ ઃܭɾ࣮͍ͯ͘͠ ͖Ε͍ Ԛ͍ ಈ࡞͠ͳ͍
ಈ࡞͢Δ Ϩου άϦʔϯ ϦϑΝΫλϦϯά έϯτɾϕοΫஶ ʢ৽༁ʣΦʔϜࣾ ݪஶ
5%%ϫΠϫΠձͰͷ5%% w 6ODMF#PC 3PCFSU.BSUJO ʹΑΔͭͷϧʔϧʹै͏ ࣦഊ͢ΔϢχοτςετΛύε͢ΔͨΊ͚ͩʹ͔͠ ϓϩμΫγϣϯίʔυΛॻ͍ͯͳΒͳ͍ɻ ࣦഊͤ͞ΔͷʹेͳϢχοτςετ͕ॻ͚ͨΒ
ͦΕҎ্ςετίʔυΛॻ͍ͯͳΒͳ͍ɻ ίϯύΠϧΤϥʔࣦഊͱΈͳ͢ɻ ͭͷϢχοτςετΛύεͤ͞Δͷʹेͳίʔυ͕ॻ ͚ͨΒͦΕҎ্ϓϩμΫγϣϯίʔυΛॻ͍ͯͳΒͳ ͍ɻ “The Three Laws of TDD” http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd
େࣄʹ͍ͯ͠Δ͜ͱ w ;Δ·͍ͷ۩ମྫʹΑ༷ͬͯΛఆΊ͍ͯ͘ w ࣮͔Βߟ͑ͳ͍ʢ5FTU'JSTUʣ w 4UFQCZTUFQʢҰඈͼʹߟ͑ͳ͍ʣ w Ϩουʢςετ͕ࣦഊ͍ͯ͠Δঢ়ଶʣૣ͘ൈ͚Δ w
άϦʔϯʢςετ͕ಈ࡞Λอূ͍ͯ͠Δঢ়ଶʣ҆৺
Ϟϒϓϩάϥϛϯάͱ IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCQSPHSBNNJOHTUBSUVQNBOVBMOVNCFSNPCQSPHSBNNJOH OVNCFSNPCVQVSP !5",",*/( .0#130(3"..*/( 45"3561."/6"- Ϟϒϓϩάϥϛϯά ελʔτΞοϓϚχϡΞϧ
!5",",*/(
Ϟϒϓϩάϥϛϯά wෳ໊ͰͷίϯϐϡʔλΛ͍ɺدͬͯͨ ͔ͬͯͭͷ͓ʹઓ͢ΔϓϥΫςΟε w υϥΠόʔʢਓʣɿߟ͑Λද໌͠ͳ͕ΒखΛಈ͔ͯ͠ ίʔυΛॻ͘ɻ w φϏήʔλʔʢෳʣɿखΛಈ͔͞ͳ͍͕ҰॹʹίʔυΛ ॻ͘ɻόάΛࠐ·ͳ͍Α͏ʹҙͨ͠Γɺ͖᪴Λॿ͚ ͨΓɺઌճΓͯ͠ௐͨΓ͢Δɻ
wਓ̍ͰΔͷϖΞϓϩάϥϛϯάͱݴ͏
5%%ϫΠϫΠձͰͷ͓ଋ wυϥΠόʔ w ͬͯΔ͜ͱɺ͜Ε͔ΒΔ͜ͱΛʹग़͢ɻ wφϏήʔλʔ w ͜Ε͔ΒΔ͜ͱΛܾఆ͢ΔɻυϥΠόͷΔ͜ͱͷ ํੑ͕ؒҧ͍ͬͯͦ͏ͳ߹मਖ਼Λɺ͍͋ͬͯͦ͏ ͳ߹ಉҙΛ͢Δɻ
5%%ϫΠϫΠձͰͷ Ϟϒަํࣜ w5%%ͷαΠΫϧͰϨου ʹͳͬͨΒަ͢Δ ςετΛ௨ͨ͢Ίͷ࣮Λ ͢ΔʢlάϦʔϯʹ͢Δzʣ ʢάϦʔϯͷ··ʣϦϑΝ ΫλϦϯάΛ͢Δ
࣍ʹ࣮͢Δ༷Λςετ Ͱදݱ͢ΔʢzϨουʹ͢ Δzʣ ͖Ε͍ Ԛ͍ ಈ࡞͠ͳ͍ ಈ࡞͢Δ ᶅ ᶃ ᶄ
5%%ϫΠϫΠձͷ ඞউύλʔϯ wDZCFSEPKPPSHΛ͏ w ແྉͷ8FC3&1- w ͍ΖΜͳݴޠڥ͕͋Δ w ςετϑϨʔϜϫʔΫ͕σϑΥϧτͰଘࡏ w໎ͬͨΒ'J[[#V[[
w ༷͕ཧղ༰қ w ͙࣌ؒΒ͍Ͱͬ͘͡ΓΔͷʹͪΐ͏Ͳ ͍͍ wഎ৳ͼ͢ΔΦεεϝͷΈ߹Θͤ w ͬͯΔ͓ºΒͳ͍ݴޠ w Βͳ͍͓ºͬͯΔݴޠ IUUQXXXDZCFSEPKPPSH