3

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

したがって、たとえば、特定のタイプまたは名前空間の、たとえば求心性結合のグラフをy軸に、時間をx軸に配置すると便利な場合があります。2つのNDependビルドを比較して、コードとメトリックの差分を設定できることは知っていますが、私が探しているのは、同じ単一のメトリックをNビルドで比較して、進行中の傾向を確認することです。

現在これを行うツールはなく、自分で作成する必要があると思いますが、もしあれば、時間をかける前に聞いてみたいと思います。それで、NDepend自体はこのようなものをサポートしますか、それとも私が使用できる何らかのユーティリティがすでに存在しますか?

NDepend以外にも、これを実現する他のテクノロジーの提案も受け付けていますが、すでに投資していて、その仕組みに精通しているため、NDependを強く好みます。

前もって感謝します。

4

1 に答える 1

6

NDependを使用すると、 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 }

...そしてVisualStudioで即座に結果を取得します。このようなルールは、CI TFSビルドプロセスに統合可能であり、 HTML+javascriptレポートに表示することもできます。

コードメトリックの進化の一致

コードメトリックの傾向を制限するために、いくつかのデフォルトのコードルールが提供されています。

于 2012-02-12T03:41:44.100 に答える