Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
TDDと認知
kanayannet
May 29, 2021
Programming
0
170
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
old typeからのクラウドインフラ
kanayannet
0
70
疎結合と認知
kanayannet
0
98
クリーンアーキテクチャを活かす考察
kanayannet
1
96
プロジェクト管理ツールの経験則
kanayannet
0
160
gunmaweb-serverless
kanayannet
0
130
Animation GIF
kanayannet
0
210
今更聞けないPWA
kanayannet
0
410
jojo-naive
kanayannet
0
170
pattern
kanayannet
0
170
Other Decks in Programming
See All in Programming
ESM移行は無理だけどおれもSindreのライブラリが使いたい!
sosukesuzuki
2
540
Enzyme から React Native Testing Library に移行した経緯 / 2022-07-20
tamago3keran
1
160
企業内スモールデータでのデータ解析
hamage9
0
890
Atomic Design とテストの○○な話
takfjp
2
800
2022年のモダンCSS改
tonkotsuboy_com
24
16k
サーバーレスパターンから学ぶデータ分析基盤構築 / devio2022
kasacchiful
0
480
「困りごと」から始める個人開発
ikumatadokoro
4
250
夕食断食にTRY!/for-lt-12th
pachikuriii
0
230
Rに管理されてみる
kazutan
0
250
Untangling Coroutine Testing (Droidcon Berlin 2022)
zsmb
1
480
Better Angular Architectures: Architectures with Standalone Components @DWX2022
manfredsteyer
PRO
1
400
Regular expressions basics/正規表現の基本
kishikawakatsumi
6
260
Featured
See All Featured
Designing for Performance
lara
597
63k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Atom: Resistance is Futile
akmur
255
20k
Intergalactic Javascript Robots from Outer Space
tanoku
260
25k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
173
8.6k
Art, The Web, and Tiny UX
lynnandtonic
280
18k
5 minutes of I Can Smell Your CMS
philhawksworth
196
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
239
11k
Faster Mobile Websites
deanohume
294
28k
Documentation Writing (for coders)
carmenintech
48
2.6k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
Transcript
TDD と 認知 Gunma.web #41 @kanayannet
今⽇のアジェンダ TDD なぜこれを話す? やりたくない? どうすれば? まとめ
TDD
ご存知「テスト駆動開発」
お約束 テストを先に書く
なぜ、これを話す ? 経験上、「認知の歪み」を感じる事が多い
どんな歪み ? Why TDD? 動作保証をするため テストコードが仕様書になる 関数の振る舞いを確認するため etc...
否定はしないけども ?
本当は ? コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent
Beck
なぜ「Red 」からなのか? 理由があるはず = 気づかせやすい 気づかせやすい = 認知しやすい
「認知の歪み」による反論 動作保証をするため 後で⼈がテストすればいいじゃん テストコードが仕様書になる 仕様書別途⽤意すればいいじゃん 関数の振る舞いを確認するため テストコードじゃなくてもいいじゃん
「テスト」という⾔葉の印象 保証する 動作確認する etc...
「コード」という⾔葉の印象 別途、書かなくてはいけない ⼯数がかかりそう
やりたくない .. というより デメリットを意識してしまう
やりたい <-> やりたくない 負けのパターン 対⽴しちゃうだけ
やりたくない = デメリット デメリットを取り除く そもそも誤解がある
どうすれば ?
初⼼にかえる コードのデザインについて考える時間が必要。 スコープを制御するためのメソッドが必要。 ここでいうスコープは... テストを順次グリーンに して、今実装すべき機能を整理するというこ と。 by Kent Beck
初⼼を伝えてみる
ポイント 相⼿のせいにすると... ⾝構える 「初⼼を忘れちゃダメ」と⾔うだけで... 「初⼼に戻ってみてはどうでしょう?」 と提案する形 「もともと何でしたっけ?」と直接的な⾔い 回しを避けた⽅が良い場合も...
対⽴感を出さない 対⽴してる感を出したら負けのパターン 意地になりやすい
まとめ TDD やりたくない理由あるある そもそも⾏き違いが起きている感 ⾏き違い( 誤解) を紐解く 対⽴しない
伝えやすい⼈々 新⼈さん 無垢 学⽣さん 無垢 PG 書いている⼈ 感覚が伝わりやすい
啓蒙活動しどころ ( 価値が⾼そう ) マネジメントやってる⼈
というかですね なぜこのLT やったかというと...
⽂章にすることで 頭が整理される
Like TDD 似てるね
Welcome Your LT ⾶び込みも歓迎です。
ご清聴 ありがとうございました。