Perl::Metrics::LiteのCLIでPerlモジュールのメトリクス測定

Perl::Metrics::LiteにCLIを追加しました。FIleとSubroutineのメトリクスを測定できます。簡単にlocやmccableのcomplexityなどを測定できるので、casualに使ってみて頂ければ。

また、Jenkins用に組み込むためのmeasureperl-jenkinsというスクリプトも同梱したので使ってみてください。

CLIでのメトリクス測定

基本的な使い方としてはは、Perlのモジュールの入ったlibディレクトリを指定して使います。

measureperl lib

Metricsの閾値を超えた物だけを表示したい場合は、

measureperl -e lib

として実行します。
閾値のデフォルト値は、slocが60、mccable complexityが10になっています。あまり厳しすぎない程度の値なので、デフォルト値のままで使ってもよいんじゃないかなと思います。

以下は、Perl::Metrics::Liteモジュールの測定結果です。

次のように閾値も変更可能ですので、プロジェクトでの許容範囲にあわせて閾値をっ設定してみてください。

bin/measureperl -e -l 30 -c 6 lib

Jenkinsへの組み込み

CheckStyleに変換するためのReportクラスもあるので、以下のような形でJenkinsには、以下のようにcheckstyleの結果を出力することで統合が可能です。先日のJenkinsへのCheckStyleへの統合を、汎用なツールにしてみました。エラーで引っかかった行数のジャンプもできるようにしてあります ;)

measureperl-checkstyle --max_sub_lines 60 --max_sub_mccabe_complexity 10 --directory lib > checkstyle-result.xml

以下でインストールできるので、試してみてください。

cpanm Perl::Metrics::Lite

Enjoy measuring!