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