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
210
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
http2http3
kanayannet
0
46
old typeからのクラウドインフラ
kanayannet
0
130
疎結合と認知
kanayannet
0
140
クリーンアーキテクチャを活かす考察
kanayannet
1
130
プロジェクト管理ツールの経験則
kanayannet
0
190
gunmaweb-serverless
kanayannet
0
140
Animation GIF
kanayannet
0
250
今更聞けないPWA
kanayannet
0
490
jojo-naive
kanayannet
0
190
Other Decks in Programming
See All in Programming
tidy_rpart
bk_18
0
600
Becoming an Android Librarian (Android World Wide 2023 Jan)
skydoves
1
210
爆速の日経電子版開発の今
shinyaigeek
2
620
Cloudflare Workersと状態管理
chimame
3
490
子育てとEMと転職と
_atsushisakai
1
410
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
280
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.4k
コンピュータビジョンセミナー2 / computer_vision_seminar_libSGM
fixstars
0
320
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
120
xarray-Datatree: Hierarchical Data Structures for Multi-Model Science
tomnicholas
0
220
OSSから学んだPR Descriptionの書き方
fugakkbn
4
130
OIDC仕様に準拠した Makuake ID連携基盤構築の裏側
ymtdzzz
0
560
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
499
110k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.2k
Design by the Numbers
sachag
271
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Principles of Awesome APIs and How to Build Them.
keavy
117
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
Navigating Team Friction
lara
177
12k
How to name files
jennybc
47
73k
Designing with Data
zakiwarfel
91
4.2k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Making Projects Easy
brettharned
102
4.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
29
7.9k
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 ⾶び込みも歓迎です。
ご清聴 ありがとうございました。