kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Ruby Gold に合格するなら必読本だと思う /「Effective Ruby」を読んだ

Ruby 関連だと最近は Metaprogramming Ruby 2 を読んだり,Ruby Gold に合格したり,表参道.rb で LT したりしてるんだけど,今さらながら Effective Ruby を読んだら最高すぎてビックリした.実は6月末には読み終わってたんだけど,少しバタバタしててまとめられなかった.

Effective Ruby

Effective Ruby 最高!っていうエントリーはたくさんあるし,参考になった項目も結構似通ってる.だから少し違う目線のレビューを書きたいなーと思って,Ruby Gold に合格するなら必読本でしょ!っていう話を少し書く.

Effective Ruby

Effective Ruby

Effective Ruby と Ruby Gold

比較的苦労して Ruby Gold に合格した僕からすると,Effective Ruby を読みながら「えっ!ちょっと!ここまじで悩んだところ...」みたいに思う場面が相当に書いてあった.Ruby Gold の出題範囲を広くカバーしてるし,出題範囲からは読み取れないような細かな Ruby の挙動に関してもしっかりと解説されているし,至れり尽くせり.

今後 Ruby Gold を受験して合格するなら Effective Ruby は必読本だと思う.全て挙げてたらキリがないけど,特に Ruby Gold の参考になる項目を挙げてみた.こうやって見ると「第2章」と「第5章」を重点的に読むと良い感じがする.

  • 項目7. super のふるまいがひと通りではないことに注意しよう
  • 項目8. サブクラスを初期化するときには super を呼び出そう
  • 項目12. さまざまな等価の違いを理解しよう
  • 項目13. "<=>" と Comparable モジュールで比較を実装しよう
  • 項目14. protected メソッドを使ってプライベートな状態を共有しよう
  • 項目16. コレクションを書き換える前に引数として渡すコレクションのコピーを作っておこう
  • 項目30. method_missing ではなく define_method を使うようにしよう
  • 項目33. エイリアスチェイニングで書き換えたメソッドを呼び出そう
  • 項目34. Proc の引数の個数の違いに対応できるようにすることを検討しよう

個人的に参考になる項目も多かった

今まで知らなかった書き方やあまり意識せず使ってた書き方などに対して理解が深まって良かった.今は仕事で Ruby を書いてるから,日常的に読むベストプラクティス集として使える1冊かなと思う.例えばこのあたりなど.

  • 項目3. Ruby の暗号めいた Perl 風機能を避けよう
  • 項目10. 構造化データの表現には Hash ではなく Struct を使おう
  • 項目17. nil、スカラーオブジェクトを配列に変換するには、Array メソッドを使おう
  • 項目31. eval の多様な変種間の違いを把握しよう

まとめ

Ruby Gold に関してはココにも書いたけど,とにかく公式本が全然使えなくて試験対策がしにくいのが課題だと思う.そこでこの Effective Ruby をサブテキストとして読むことで理解が深まって,合格率がグッと上がるはず.本当にオススメ.Ruby Gold 受けましょう!

kakakakakku.hatenablog.com