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
kanayannet
May 29, 2021
Programming
0
400
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
github copilot と 心理的安全性
kanayannet
0
130
FW と ライブラリ の考え方
kanayannet
0
180
TDDと今まで
kanayannet
0
500
個人開発 稼げなくてもいいアプリ
kanayannet
0
490
システムの堅牢性
kanayannet
0
260
Agile的学習方法
kanayannet
0
250
GUIをエンジニアが考える
kanayannet
0
220
http2http3
kanayannet
0
170
old typeからのクラウドインフラ
kanayannet
0
350
Other Decks in Programming
See All in Programming
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
150
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
210
Datadog Workflow Automation で圧倒的価値提供
showwin
1
230
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
1.1k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
150
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
250
Jakarta EE meets AI
ivargrimstad
0
480
Ça bouge du côté des animations CSS !
goetter
2
150
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
930
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
150
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
240
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
1k
Rails Girls Zürich Keynote
gr2m
94
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Faster Mobile Websites
deanohume
306
31k
Code Reviewing Like a Champion
maltzj
521
39k
Raft: Consensus for Rubyists
vanstee
137
6.8k
The Language of Interfaces
destraynor
156
24k
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 ⾶び込みも歓迎です。
ご清聴 ありがとうございました。