コマンドリファレンス
text
srcmetrics <COMMAND>
analyze ファイル・ディレクトリを解析
stats 記述統計・言語別ベースライン・相関
report 自己完結の HTML レポート
model 実験的な可読性モデル(train / predict)
serve HTTP API と Web UIエラー時は終了コード 1 と、次に何をすべきかを示すメッセージを出します。
analyze
sh
srcmetrics analyze <PATH> [--project NAME] [-o FILE] [--format json|csv]PATHはファイルかディレクトリです。ディレクトリは.gitignoreを尊重して走査し、対応する拡張子のファイルだけを解析します。未対応の拡張子のファイルを直接指定するとエラーです。--projectは結果に記録するプロジェクト名です(既定はディレクトリ名)。--format csvはプロジェクト・ファイル・関数ごとに 1 行を出力します。出力形式を参照してください。- 構文解析に失敗したファイルは結果に
"status": "error"として残り、件数とエラーが標準エラーに出ます。終了コードは 0 のままです。
stats
sh
srcmetrics stats <RESULT.json>... [--scope file|function]1 つ以上の結果のファイルまたは関数について、次を計算します。
- メトリクスごと:
n(値のある単位の数)、missing、mean、sd(不偏)、min、q1、median、q3、max。分位点は線形補間(R の type 7)。 - 言語ごとの同じ統計(
by_language)。言語別のベースラインとして使えます。 - すべてのメトリクスの組の Pearson と Spearman の相関。両方の値がある単位だけを使い、使った単位数
nも出します。3 単位未満や分散 0 の場合はnullです。
report
sh
srcmetrics report <RESULT.json> [-o FILE]実行メタデータ、プロジェクトのメトリクス、言語別の中央値、全メトリクスのヒストグラム、Spearman の相関ヒートマップを 1 つの HTML ファイルに書き出します。外部リソースを読み込まないので、オフラインで開け、1 ファイルで共有できます。
model
sh
srcmetrics model train --labels LABELS.csv [--features IDS] [--lambda L] [-o MODEL.json] <RESULT.json>...
srcmetrics model predict --model MODEL.json <RESULT.json>...実験的な可読性モデルを参照してください。
serve
sh
srcmetrics serve [--bind 127.0.0.1] [--port 8080]HTTP API を参照してください。