感想:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

Ruby入門なら本書!

2020年時点で、Ruby入門書の決定版は、本書でしょう。本書は、説明が丁寧に記載されており、内容の分かりづらさがありません。読者が躓きそうなポイントを先読みしたかのようなコメントも随所に見られます。Rubyの基本的な文法を説明した後、各章末でサンプルコードを示す形式のため、写経が好きな方は気にいると思われます。

本書を読んで、「Rubyは死んだ」と評されるイメージから一転し、「Rubyの良さ」を感じられるようになりました。ポジティブな印象を持った理由は、著者がRubyの便利な書き方(実践向けな書き方)を紹介してくれる点が大きいと思います。Rubyの良さの前に、本書の良い点を以下に示します。

本書の良い点
  • サンプルコードをテスト駆動開発で示す点(unit testの重要性が分かりやすい)
  • Rubyらしいコードの書き方を提示する点(for文は使用しないなど)
  • 実践よりのベストプラクティスが多い点(例外処理など)

テストコードの書き方は、開発をするのであれば、全プログラミング言語共通で抑えなければならない知識です。Unit Testに使用する外部ライブラリ(モジュール)の候補を示すだけでなく、テスト駆動開発の手法でUnit testの書き方を教えてくれる入門書は、新鮮でした。

Rubyらしいコードが分かるメリットは、意図せず他プログラミング言語の文化を持ち込むリスクが減らせる事です。開発では「郷に入っては郷に従え」というルールを採用しているケースが多く、周りのコードと同じ書き方をする必要があります。らしさ、を出せなくてもコーディングできますが、周りのメンバから不評を受ける可能性もあるので、なるべく早めにRubyらしいコードを学習できるのは大きなメリットでしょう。

ベストプラクティスは、ソフトウェアの品質に直結する知識なので、紹介数が多ければ多いほど良いです。例えば、「rescueした例外を再発生(resuce節の中でraiseメソッド)」、「tapでメソッドチェーンをデバッグ」などは、実戦経験を踏んで必要なタイミングにならないと、知ることが出来ないと思われます。そのような知識を紹介している点が、非常に好感持てました。

                   

Rubyの良さ:書き捨てのコードが早く書けそう

本書を読んだ後に分かったRubyの良さは、コードが書きやすそう、という点です。Ruby学習の前に学んだJavaとは比べ物にならない記述量で、簡単に文字列やファイル操作ができます。ちょっとした自動化スクリプトを書く際に、BashよりRubyを採用する機会が増えそうです。

「Pythonで良くね?」と思われた方がいらっしゃると思います。適材適所だと思います。例えば、RubyはPerlからの影響が強いため、正規表現が言語レベルで組み込まれており、使いやすい形で提供されています(”import re”に相当する記述が不要)。そのため、文字列操作などはRubyで記述した方が楽でしょう。

             

おすすめ

1件の返信