BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Caliperを使ったRubyのメトリクス

Caliperを使ったRubyのメトリクス

原文(投稿日:2009/11/05)へのリンク

Caliperは、Rubyプロジェクトに非常に簡単な方法でメトリクスを提供する。GitリポジトリにCaliperを指定するだけで、数秒待てばコードがどのような状態か知ることができる。

Caliperは、Devverが提供する無料のサービスであり、この会社はテスト加速サービスで知られている (InfoQのFaster Ruby Test Execution With Devverを参照のこと)。様々なメトリクスの計算はmetric_fuで行われる。同様にRoodi (設計に関して警告する) や Saikuro (循環的複雑度の分析器)のようなツールも使う。Caliperは、これらのデータを集計して、概要を分かりやすく示す。例えば、Sinatra hot spotsを見てみよう。

DevverのBenjamin Brinckerhoff氏が、さらにメトリクスを統合する計画があると語った。

どのメトリクスを追加するか完全に決まったわけではありません。これは、ほとんどユーザの反応次第です。しかしながら、ここにいくつか考えがあります。
  • Towelieは、Flayと同様、重複を発見します。
  • rcovはすでにmetric_fuに含まれていますが、Caliperではサポートされていません。
  • Railroadはクラス図ジェネレータです。
  • TODO発見器は、TODO (または、プログラマのメモとして書かれた他の文字列) のインスタンスが一番多いファイルを決定します。 正確な文字列はカスタマイズ可能で、私たちは自分たちでこれを作るつもりです。(とても簡単なはずです)
これらのツールを追加する時、metric_fuにも同様に追加することを計画しています。(metric_fuチームがこれらを追加したほうがよいと同意したらですが。) 今のところは、既存のmetric_fuデータを理解しやすく、より簡単に扱えるように一生懸命取り組んでいます。

メトリクスを計算するだけでは十分ではなく、コードは最後にはリファクタリングされなければならない。Devverのこのブログでは、自分たちのコードベースを改善するためにどのようにCaliperのメトリクスが使われたかを示している。Caliperは、post-commit hookによりGitHubrdoc.info のような他のサービスともうまく統合する。

このサービスは、オープンソースプロジェクトには無料であり、プライベートなプロジェクトに対しては有料サービスが検討されている。

この記事に星をつける

おすすめ度
スタイル

BT