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
420
TDDと認知
エンジニア組織論の会で発表したLTです。
kanayannet
May 29, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
無関心の谷
kanayannet
0
120
生成AIの使いどころ
kanayannet
0
150
github copilot と 心理的安全性
kanayannet
0
190
FW と ライブラリ の考え方
kanayannet
0
220
TDDと今まで
kanayannet
0
530
個人開発 稼げなくてもいいアプリ
kanayannet
0
510
システムの堅牢性
kanayannet
0
290
Agile的学習方法
kanayannet
0
280
GUIをエンジニアが考える
kanayannet
0
240
Other Decks in Programming
See All in Programming
漸進。
ssssota
0
1.6k
Passkeys for Java Developers
ynojima
2
770
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
240
Step up the performance game with Spring Boot and Project Leyden
mhalbritter
0
170
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
670
カクヨムAndroidアプリのリブート
numeroanddev
0
270
從零到一:搭建你的第一個 Observability 平台
blueswen
0
300
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
170
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
3
310
PT AI без купюр
v0lka
0
210
型安全RESTで爆速プロトタイピング – Hono RPC実践
tacke_jp
0
110
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Scaling GitHub
holman
459
140k
Practical Orchestrator
shlominoach
188
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Why Our Code Smells
bkeepers
PRO
337
57k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Cost Of JavaScript in 2023
addyosmani
49
8.3k
RailsConf 2023
tenderlove
30
1.1k
Code Reviewing Like a Champion
maltzj
524
40k
Documentation Writing (for coders)
carmenintech
71
4.8k
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 ⾶び込みも歓迎です。
ご清聴 ありがとうございました。