テスト駆動開発という本を題材に、dodosoft のメンバーでもくもく写経会をやっています。
各々が違う言語で取り組んでいるので、言語ならではの悩み、言語共通のコンテキストを共有できて、なかなか学びがあります。
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
会場は ラクスル株式会社 の会議室です。いつも弊社ありがとうございます!
第4章 意図を語るテスト
TODOリスト
- $5 + CHF = $10
$5 * 2 = $10- amount を privateにする
Dollarの副作用どうする?- Moneyの丸め処理どうする?
equals()- hashCode()
- null との等値性比較
- 他のオブジェクトとの等価性比較
自分の気付き・感想
- 粗く実装してから結合度を下げていくのはなるほどな! と思った
- 最初から細かく可視性まで考慮してしまい、結果的に手が遅くなることがよくあったなと思った
- そんなぐずぐず悩んでいる暇があるのなら、テストを先に書いてしまって(インタフェースを先に決定づける)後からリファクタリングすればいいと思った
- カプセル化はMUSTなのか、WANTなのか?
みんなで話した気付き・感想
- TDD的には、いきなり完璧なコードを目指すのではなく、要求を実現するための最小限のコードを少しずつ書く。小さなステップを踏んでいくのだ!
- 普段は最初からカプセル化を意識してコードを書いていくので、アプローチが逆方向だなと新鮮だった
- 3章までにテストをしっかり書いていないと(テストが正しいこと)、この章で大胆には変更できなかった
実装面でのひっかかり
以上です!
はじめにインタフェースを設計できている必要があるので、テスト駆動開発ってスキルが必要だなー(今の自分には力不足。。。)と思いました。
ガチャガチャ実装しているうちに、インタフェース結構変えちゃうんですよね、自分の場合。がんばらねば。。。
次回は第5章です。