第10回「オブジェクト指向設計実践ガイド」読書会に参加しました

3/28 NSEGの「オブジェクト指向設計実践ガイド」読書会の第10回に参加しました。参加者4名。今回で最終回でした。

nseg.connpass.com

今回は第9章「費用対効果の高いテストを設計する」の途中から最後まで読みました。

p.277 に「witdh」というtypoあり。

抽象クラスと具象クラスで共通のテストをmoduleで実装しておいて、それぞれのクラスのテストでincludeするというのはなるほどなーって感じでした。 RSpecでも同じようなことできるんかな。

「そもそも言語として型とかインタフェースがあればこんなテストなんてしなくてもいいんじゃないの?」って意見もあり、まあそれはそうだよね。

プライベートメソッドのテストを書くかどうかというよく聞く話題についても書かれてました。「プライベートメソッドのテストを書きたくなったら別のクラスのパブリックメソッドにすればいい」というのは聞いたことあるけど、それをしていいのはインタフェースが安定している場合だけ。

新しいパブリックインターフェースの安定性(と不安定性)はもともとプライベートインターフェースであったころとまったく変わりません。場所が移動されたからといって、不思議な力でメソッドの信頼性が増すことはないのです。

Rubyの知識がちょっと必要ですが、言語的な制約がゆるいRubyを題材にすることで、Java等のオブジェクト指向言語がなぜそのような仕様/制約になっているのかを理解することができるかもしれません。

いろいろ勉強になったよい本でした。

次回からは「[試して理解]Linuxのしくみ~実験と図解で学ぶOSとハードウェアの基礎知識」を読む予定です。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識