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
320
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
TDDと今まで
kanayannet
0
200
個人開発 稼げなくてもいいアプリ
kanayannet
0
320
システムの堅牢性
kanayannet
0
160
Agile的学習方法
kanayannet
0
180
GUIをエンジニアが考える
kanayannet
0
150
http2http3
kanayannet
0
130
old typeからのクラウドインフラ
kanayannet
0
280
疎結合と認知
kanayannet
0
300
クリーンアーキテクチャを活かす考察
kanayannet
1
180
Other Decks in Programming
See All in Programming
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
930
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
280
使ってみよう Azure AI Document Intelligence
kosmosebi
2
370
禅の心を手に入れよ
eltociear
1
420
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
100
Netty Chicago Java User Group 2024-04-17
sullis
0
210
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
180
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
490
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
1k
Hanami and htmx
bkuhlmann
0
230
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
12
4.2k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Making Projects Easy
brettharned
109
5.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
RailsConf 2023
tenderlove
9
570
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
The Cult of Friendly URLs
andyhume
74
5.7k
What's new in Ruby 2.0
geeforr
337
31k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Writing Fast Ruby
sferik
622
60k
How to name files
jennybc
65
93k
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 ⾶び込みも歓迎です。
ご清聴 ありがとうございました。