『研鑽Rubyプログラミング』をレビュアー献本いただいた

『研鑽Rubyプログラミング』をレビュアー献本いただきました。角谷さん、ラムダノートさん出版おめでとうございます & ご献本いただきありがとうございました。

記憶によると勤務先で出展していた『Kaigi on Rails 2021』のオンラインスポンサーブースで、角谷さんから「Jeremy Evans の『Polished Ruby Programming』を翻訳しているんだけど、レビュアーとして参加しない?」と声を掛けていただいたのが切っ掛けだったと思います。とりわけ「第6章 コードを読みやすくフォーマットする」で登場する RuboCop のパートの研鑽へのお手伝いが期待されていることかなと思いながら参加させてもらいました。

6章で個人的に気に入っているのが「詩人」と「哲人」のメタファー。RuboCop の使い方として Jeremy Evans としては DisabledByDefault: true から始めることをオススメ (いうなれば激推し) していて、Jeremy の書籍なのでそこは著者の意思としても、RuboCop コミッターの私としてはデフォルトが使いづらいという声は耳にしています (し個人としてもそれはそう思う) ので DisabledByDefault: true から始めてチームで引っ掛かった Cop を有効にする書籍に載っているアプローチはもちろん有効なひとつ。とはいえゼロベースで有効化してくのも手間という場合は rubocop-rails_config や Standard gem みたいなものに乗るのも選択肢です。この「好みの違いを受け入れる」 RuboCop の哲学については Ruby30 でも話しているのでご参考まで。

@yahonda さんの感想にある「議論を起こす価値のある本」になりえているパートのひとつかもしれません。

また、レビューの最中に RuboCop 本体に対して気づいたバグがあり、RuboCop に以下のパッチをあてたりしていました。

github.com

github.com

github.com

6 章に登場する RuboCop に関する訳注は、書籍レビューが元になったこのパッチの結果によるフィードバックがきっかけになっています。Ruby エコシステムを研鑽するきっかけにもなっててすごい。

そんなわけで Jeremy Evans という本物の超人が執筆した書籍というだけで価値ある書籍ですが、日本語版はプロの Ruby コミッターや現役で Active Record ならびに RDBMS に強い Rails コミッター、Ruby コミュニティで活躍している Rubyist のフィードバックも反映されており、原書にはない付加価値の付いた最高に研鑽された翻訳書です。

最後に TBA になると思いますが、角谷さんと RubyKaigi に向けた販促に関する話をしていて、著者の Jeremy Evans も来日登壇する RubyKaigi 2023 での賑わいのひとつになるかもしれません。とにかくおすすめ!