Ruby 逆引きレシピ レシピ175-184
Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)
- 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/25
- メディア: 単行本(ソフトカバー)
- 購入: 16人 クリック: 349回
- この商品を含むブログ (77件) を見る
今日はレシピ 175 から 184 までを読みました。
Dai 10 章、テスト/最適化のところです。
レシピ 175 から 180 は TestUnit によるテストについてです。わたしはもっぱら RSpec を利用していて TestUnit の利用法は詳しく知らなかったので興味深く読みました。慣れてるのでこれからも RSpec を使うと思いますが、Ruby本体のテストは TestUnit(1.9 は minitest)で書かれているので知っておいたほうがいいでしょうし。
レシピ 181 は RSpec についてですが 1 レシピだけでとても簡素な紹介になっています。るびまの RSpec の記事また読みたいです。
レシピ 182 は rcov で Ruby スクリプトのカバレッジを取る方法の紹介です。これもお世話になっていたツールなのですが、残念ながら 1.9 対応がまだ実験的な段階でエラーになったり落ちたり(1.9.2-preview1)します。あと 1.8 でもあまり大量のコードを一度にカバレッジ取ろうとすると HTML を出力するところでメモリを使いすぎて落ちることがあります。
レシピ 183 はプロファイラの紹介で、特に ruby-prof は標準添付の profile.rb が実行時間がとても長くなってしまうのに比べて高速です。わたしも最近使うようになりました。レシピ本で初めて知ったのですが、ruby-prof は再帰呼び出しの時にメソッド名の末尾に -1 が付くことで通常の呼び出しと区別されているんだそうです。
レシピ 184 より、reek という RubyGems パッケージのツールを使うと Ruby のスクリプトを解析して、コードの重複や長すぎるメソッドなどリファクタリングするポイントを教えてくれます。ためしに自分で書いたそこそこの大きさのあるライブラリを解析にかけてみたら、かなりひっかかりました。全て潰すのはなかなか骨が折れそうですが、矯正ギブスとして使うのによさそうです。