rails アプリの統計情報を一発で取れる rake stats を試した

いつものように rake -T の出力結果を見ていたところ、stats というターゲットが。
出力結果を見ると、仕事で進捗報告したりだとか、プロジェクト終了時の統計をとったりだとかに有効そうな感じです。
デフォルトで組み込まれているので、仕事で rails 使っている人はよく使うことになるのでは、と思います。


使いかたはこんな感じ。

yagihiro@debian:~/svn_root/xxx/trunk/yyy$ rake stats
(in /home/yagihiro/svn_root/xxx/trunk/yyy)
+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |    50 |    32 |       2 |       5 |   2 |     4 |
| Helpers              |     5 |     4 |       0 |       0 |   0 |     0 |
| Models               |     6 |     6 |       1 |       0 |   0 |     0 |
| Libraries            |     0 |     0 |       0 |       0 |   0 |     0 |
| Components           |     0 |     0 |       0 |       0 |   0 |     0 |
| Integration tests    |     0 |     0 |       0 |       0 |   0 |     0 |
| Functional tests     |    18 |    13 |       2 |       3 |   1 |     2 |
| Unit tests           |    25 |    21 |       1 |       3 |   3 |     5 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |   104 |    76 |       6 |      11 |   1 |     4 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 42     Test LOC: 34     Code to Test Ratio: 1:0.8

各項目は以下の意味(だと思う)。

Name
項目名。
Lines
行数(コメント含む)。
LOC
Line Of Code の略。コメントをのぞいた行数。
Classes
クラス数。
Methods
メソッド数。
M/C
Method Per Class の略。1クラスに何メソッドあるか。
LOC/M
LOC Per Method の略。1メソッドに何行(コメント除く)あるか。
Code LOC
Controllers〜Components までの LOC 合計。
Test LOC
Integration tests〜Unit tests までの LOC 合計。
Code to Test Ratio
コードとテストの比率。一般にどのくらいかだとかはよくわからないけど、このアプリはユニットテストしか書いていないのでもう少しテスト側が重くなるのがいいのかも。プラグインを使う/使わないでも全然違うかな、とか。

View が一覧に含まれていないので、純粋にアプリケーションのロジックを計測しようっていうことなんだろうと思います。