2

2 つのプロジェクト バージョンがある場合、コード チャーン メトリックを計算したいと思います。

例:

入力: プロジェクトの 2 つのバージョンの C およびヘッダー ファイルを含む 2 つのフォルダー


出力: 各ファイルで追加/変更/削除された行数のリスト

BeyondCompareWinMergeというツールをいくつか試しました。問題は、最初にすべてのファイルが同じディレクトリにあることが必要でした。そうでない場合は、それらを比較することしかできませんが、メトリックを取得できません.2番目は主に視覚化ツールであり、メトリックも提供しませんでした。

4

3 に答える 3

2

検討できるツールの 1 つにWebDiffがあります

于 2012-05-24T06:17:33.210 に答える
1

.NET コードの場合、このようなタスクは、次のような NDepend Code Query LINQ (CQLinq)クエリを使用して実現できます (コード メトリックの選択方法に注意してください)。

from t in JustMyCode.Types
where t.IsPresentInBothBuilds() &&
      t.CodeWasChanged() // Only match types where code has been changed 
                         // between the two versions
let tOld = t.OlderVersion()
select new { t,
  newLoc = t.NbLinesOfCode,
  oldLoc = tOld.NbLinesOfCode,
  newNbMethods =t.Methods.Count(),
  oldNbMethods =t.Methods.Count(),
  newNbFields =t.Fields.Count(),
  oldNbFields =t.Fields.Count(),
}

ここに画像の説明を入力

于 2012-05-24T07:39:34.980 に答える
0

バージョンはバージョン管理システム (SVN、Git など) に保存されていますか? はいの場合、2 つのバージョンが連続したコミットでなくても、バージョン管理システム ログ (追加/変更/削除された行が既に示されています) を調べることで、チャーン メトリックを計算できます。

于 2012-06-06T06:58:59.287 に答える