3/28 NSEGの「オブジェクト指向設計実践ガイド」読書会の第10回に参加しました。参加者4名。今回で最終回でした。
今回は第9章「費用対効果の高いテストを設計する」の途中から最後まで読みました。
p.277 に「witdh」というtypoあり。
抽象クラスと具象クラスで共通のテストをmoduleで実装しておいて、それぞれのクラスのテストでincludeするというのはなるほどなーって感じでした。 RSpecでも同じようなことできるんかな。
「そもそも言語として型とかインタフェースがあればこんなテストなんてしなくてもいいんじゃないの?」って意見もあり、まあそれはそうだよね。
プライベートメソッドのテストを書くかどうかというよく聞く話題についても書かれてました。「プライベートメソッドのテストを書きたくなったら別のクラスのパブリックメソッドにすればいい」というのは聞いたことあるけど、それをしていいのはインタフェースが安定している場合だけ。
新しいパブリックインターフェースの安定性(と不安定性)はもともとプライベートインターフェースであったころとまったく変わりません。場所が移動されたからといって、不思議な力でメソッドの信頼性が増すことはないのです。
Rubyの知識がちょっと必要ですが、言語的な制約がゆるいRubyを題材にすることで、Java等のオブジェクト指向言語がなぜそのような仕様/制約になっているのかを理解することができるかもしれません。
いろいろ勉強になったよい本でした。
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz,?山泰基
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: 大型本
- この商品を含むブログ (1件) を見る
次回からは「[試して理解]Linuxのしくみ~実験と図解で学ぶOSとハードウェアの基礎知識」を読む予定です。
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
- 作者: 武内覚
- 出版社/メーカー: 技術評論社
- 発売日: 2018/02/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る