「研鑽Rubyプログラミング」を読みました #研鑽Ruby

研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ – 技術書出版と販売のラムダノート を読んだので、簡単に感想をメモしておきます。

 

前置き

ここ2年ほど、仕事にてRubyRailsを使ってWebアプリを開発しています。

RubyRailsに詳しい同僚が多いこともあり、同僚が書いたコードやプルリクコメントを読んでは、「なるほどー、そんなふうに書けるんだ」と新たな発見をして楽しんでいます。

 
そんな中、ラムダノート社から対象読者が

https://www.lambdanote.com/products/polished-ruby

であるRuby本が出ると知りました。

より多くの引き出しが得られるかもしれないと考え、本書を手に取りました。

 

感想

基本的に本書は

  • あるコード例をあげる
  • そのコード例を修正して、その結果どうなったかを解説する

が繰り返される形で、話が進んでいきます。

そのため、「なぜ、より良くなるのか(そしてトレードオフがあるのか)」の "なぜ" を知りたい自分にとって理解しやすかったです。いわば、プルリクのレビューを同僚から受けている感じでした。

 
本書で初めて知ったRubyのイディオムがためになったのはもちろん、

  • ローカル変数をおすすめする理由
  • 引数やブロック引数をどう定義するか
  • エラーを戻り値と例外のどちらで表現するか

など、ふだん扱うものに関する考え方やその設計もためになりました。

 
また、ふだんライブラリを作る機会があまりないことから、第2部の7章~10章のライブラリを作るときの考え方も学べてよかったです。

一方、第3部についてはふだんの内容ということもあり、復習に近い感じでした。とはいえ、17.5あたりはよく読もうと思います。

 
他に印象に残ったところとしては、第6章の詩人プログラマーと哲人プログラマーについてです。自分はどちら寄りだろうと考えつつ、自分たちのチームがどの位置にいるかきちんと理解しようと思いました。

 
と、一通り読んでみて学ぶことが多かったことから、折を見て読み返そうと思います。

あとは、Rubyに限定しない良い考え方も含まれていたため、他の言語ではどんな感じになるのか書いてみるのも良さそうでした。

 

最後に

著者や翻訳者のみなさま、ためになる本をありがとうございました!