第29回 西日暮里.rb オブジェクト指向設計実践ガイド読書会

第29回 西日暮里.rbだった。

nishinipporirb.doorkeeper.jp

今回はオーガナイザーの高山さんが訳した『オブジェクト指向設計実践ガイド』の読書会という形式。

最初に訳者の高山さんから訳した際のポイントとして「端折って分からなくなるよりは、冗長だけど情報が漏れないように訳した」との訳を行なった際の方針について話がされた。

そのあとは、1章を黙読→1章の感想を付箋に書いてホワイトボードに貼る→参加者から順に貼った付箋にひとこと→訳者の高山さんからひとこと & QA という流れが2章分行なわれた。

f:id:koic:20161101115908j:plain

完璧なアプリケーションはないが完璧を目指すことはできるといったなかで、設計をどこまでやるかといった現実の課題に対して「設計の損益分岐点」といった言い得て妙な心引かれるキーワードがちらほらとちりばめられていた。読書会の参加者からこういった心引かれた言葉が付箋としていくつか挙ったけれど、それらに関しては意識的に気に留まるよう翻訳に気を配られていたとのことで、5年越しの翻訳への重みを感じた。

この書籍に関して RubyKaigi 2016 で購入した際にざっと流した感想としては、オブジェクト指向設計にまつわる古今の設計原則や良書からエッセンスを蒸留して1冊にまとめられた印象。たとえば SOLID 原則などはボブおじさんの『アジャイルソフトウェア開発の奥義』に詳しいし、高凝集疎結合デメテルの法則などはオブジェクト指向設計を学ぶ際には何度か目にすると思う。今回の読書会では1章、2章と限定されていたものの、そのあたりのオブジェクト指向設計を中心にした話を久しぶりにできた。

一方で、今回の読書会範囲の2章で現れた TRUE の性質 (TRUE の○○の部分は自分の中での表現) というのは本書ではじめて目にしたもの (TRUE について自分以外も初見という人がちらほらいた) 。新しい発見もある一冊なので、これからオブジェクト指向設計を改めて学ぼうという人や、再度学習をしようという人にオススメだと思う (読書会の感想というより書籍の宣伝になってきた) 。

古今の書籍では Smalltalk / Eiffel / C++ / Java と多様な言語が使われているところ、この1冊としては Ruby が使われているので、今回のようにお昼に Ruby を使っているプログラマーの集まりでわいわいしてみると面白いと思うし面白かった。

まったくの余談だけど、勤務先のボスと以前本書について話したときに、書籍の最後に参考文献や Further Reading といった章があると、この一冊を取っ掛かりにその先をより深く学ぶことができて良いので、Qiita なんかにそういったエントリを書けると良いねと話していた (文中にはそれぞれどこからの引用とあるが独立した章としてはまとめられていない) 。余力があればやりたいところではあるけれど、現在はまったくの手付かずがいまの状態なのだった。