2012-03-01 29 views
2

我已經開始使用VS2010的代碼測量和分析功能;即代碼分析,代碼度量和代碼覆蓋率。我詳細瞭解瞭如何運行這些工具(使用VS並通過命令行自動化),並查看了結果。有沒有辦法比較VS2010代碼分析,指標和代碼覆蓋率結果?

我想知道是否有辦法比較結果以更好地理解「進度」,這意味着代碼的質量如何在持續的基礎上得到提高?例如,我想比較先前構建的代碼度量統計(xml結果文件),並將其與當前構建進行比較。

有沒有可用的工具,我不知道?現在我們正在考慮將結果存儲在excel中,並在我們進展時對其進行比較和製圖。

欣賞是否有人有任何想法。

感謝

回答

0

唯一專用的比較工具,其中我知道是一個我創建了一個幾年前,它可在http://finlogikfxcopstats.codeplex.com/。我不再對其維護負責,我不確定它是否已更新爲FxCop 10.0。然而,它的源代碼是可用的,所以你可以調整它,如果你需要...

TFS also offers some results tracking從中可以生成歷史報告。然而,我發現它的方法非常沒用,因爲這意味着你需要保持你的積壓「積極」,這意味着你不能基於新問題使構建失敗。

+0

感謝妮可。我會檢查你的代碼。我還沒有看過結果跟蹤,並會看看。 – Lalman 2012-03-03 12:59:47

2

免責聲明我引述工具的開發:隨着工具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中顯示。

Code metric evolution match

+0

你當然不會試圖暗中介紹你與NDepend的聯繫,並且你會在你的知識領域發佈很多非常有用的答案。不過,像這樣的帖子對於這個網站來說只是一種銷售。我不會將它標記爲垃圾郵件或任何其他內容,但只是一個友好的提醒,當您的答案開始使用營銷講話時要小心。 – 2012-06-01 07:41:04

+0

安德魯,我把這個帖子改寫爲既放棄對我與NDepend的隸屬關係的任何懷疑,並通知更深入的小枝。由於shank寫道:有沒有一種工具可用於這我不知道?而NDepend完全**並且以一種乾淨的方式清楚他所要求的,希望我的回答是相關的。 – 2012-06-02 09:06:47

+0

這一切都很好。但是,當您的大量帖子像網站的營銷部分一樣閱讀時,就會出現問題。只是FYI。就像我說的,你也會做一些很好的支持帖子,所以我傾向於給你一個友好的提醒:) – 2012-06-04 02:24:52