チェリー本 改訂2版 を読みました🍒

プロを目指す人のためのRuby入門[改訂2版] 言語仕様からテスト駆動開発・デバッグ技法まで のプレゼント企画に当選しました。ありがとうございます! 本の到着から時間が経ってしまいましたが、読んだ感想をポエミーに書いていきます。

印象に残った内容

正規表現

実務で正規表現を使ったコードをあまり書いていないので苦手意識がありましたが、本の内容に沿って考えるとそこまで難しくないことが分かりました。 正規表現を使うステップは大きく分けて以下の2つに分類できると考えています。

  1. 文字列の規則性を見つける
  2. 規則を正規表現に変換する

この両方を同時にこなすのではなく、段階を追って考えて行けば適切な正規表現を書けることに気付いたので積極的に使っていきたいです。

パターンマッチ

パターンマッチを使ったコードを実務で見かけどのようなルールで動いているのか非常に興味がありました。
データの構造に合わせて処理を分岐させることでより直感的なコードを書けることが分かりました。 データの実態ではなくあくまで構造にフォーカスを当てたパターンマッチのロジックは、型を厳密に定義する機能と相性が良さそうな印象を持ちました。
将来挙動が変わる可能性のある書き方もあるので、どこまで使うかチームで認識を合わせられると良さそうです!

クラス

第1版を読んでいたとき、「あるクラスのメソッドの中で別のクラスのメソッドを呼び、データをやりとりし、ひとつのプログラムとして動かせるんだ!」と感銘を受けたことを思い出しました。
本の中で一番重いと思われる内容ですが、例題を解くための最低限の知識 -> 例題 -> 深堀 の順で構成されているので、初学者の方でも読み進められるようになっています。

例外処理

例外処理との向き合い方が簡潔にまとまっており、個人的に一番好きな章です。 なんでも例外処理に渡すのではなく、そもそも例外を発生させることを未然に防ぐことはできないか?Rails, Rubyの機能で補足できないか?を検討してから使うようにしたいです。 以下の記事、動画でさらに例外処理への理解を深めたいと思います。

www.youtube.com

qiita.com

本の全体の感想

挫折を防ぐポイントが各章で散りばめられており、絶対に初学者を挫折させない強い意志を感じました。

  • サンプルコードの解説、コメントが丁寧
  • 言語の慣習と規約を明確に分けて解説している
  • 書面の都合で載せられない内容は、伊藤さんのQiita, Zennの記事で解説されている

初学者ではない方でも、Ruby3.0で追加された機能の把握、既存のメソッドの復習、例題を本のコードを写経せずに自分で解くことで更に理解を深めることができます。

初学者の方、第一版を読んだ方、お仕事でRubyを使っている方全員におすすめできる内容となっています! チェリー本を片手にプロになるため精進します。伊藤さん、ありがとうございました!