2012-02-10 2 views
3

ビルドサーバー用のNDependのバージョンがあり、NDependレポートの生成が自動化されています。だから、毎晩ビルドがそれを行い、NDependのレポート/ XMLが生成されます。私が今したいことは、時間の関数としていくつかの指標を追跡することです。NDependでコードメトリクスの傾向を見る

例えば、特定の型のグラフや名前空間の求心性結合を、y軸上にx軸上の時間と共に持たせるとよいでしょう。 2つのNDependビルドを比較し、コードとメトリックの違いがあることはわかっていますが、私が探しているのは、N個のビルドで同じ単一のメトリックまたはメトリックを比較して、進行中の傾向を確認することです。

私は、現在これを実行するツールがなく、自分でロールバックする必要があると仮定していますが、そこに1つがある場合は、前にそれについて聞くのが大好きです時間を投資する。だから、NDepend自体はこれのようなものをサポートしているのでしょうか、それとも私が使うことのできる既存のユーティリティがありますか?

私はNDependに加えてこれを達成する他の技術の提案にもオープンしていますが、すでにNDependに投資していて、どのように動作するのかがよく分かっています。

ありがとうございます。

答えて

6

NDependを使用すると、コードメトリックを使用して進化に合わせてCode Query over LINQ (CQLinq)を書くことができます。たとえば、クエリで始めることができます。

from t in JustMyCode.Types 
where t.IsPresentInBothBuilds() && 
     t.CodeWasChanged() 
let tOld = t.OlderVersion() 

let newLoC = t.NbLinesOfCode 
let oldLoC = tOld.NbLinesOfCode 
let newCC = t.CyclomaticComplexity 
let oldCC = tOld.CyclomaticComplexity 
let newCov = t.PercentageCoverage 
let oldCov = tOld.PercentageCoverage 
where newLoC > oldLoC || newCC > oldCC || newCov < oldCov 
select new { t, newLoC, oldLoC, newCC, oldCC, newCov, oldCov } 

... Visual Studioで即座に結果を得ることができます。そのようなルールはCI TFS build processに統合可能で、HTML+javascript reportでも表示できます。

+0

フィードバックありがとうございます。私がおそらくやることは、私自身のパーサーとディスプレイを別々のアセンブリとして書いて、出てくるときにAPIを使うものに入れ替えることができるようにすることです。 –

関連する問題