2009-12-08 91 views
9

我有一個大的高質量的c#框架代碼庫,我仍然想嘗試改進。fxcop是提高代碼質量的有效工具嗎?

  1. fxcop是改進.NET框架的有效工具嗎?我知道Microsoft在內部使用該工具,但外部用戶如何找到它?值得嗎?

  2. 我已經擁有數十億行代碼和完善的風格,它是否可以適應我們的風格,並仍然提供良好的指導?

  3. 粗略地說,設置需要多長時間?幾小時,幾天,幾周?稍後我會學習一些有用的東西嗎?

回答

16
  1. 是FxCop的是改進的.Net代碼庫非常有效的工具。除了發現許多不同類型的錯誤(全球化,拼寫,安全,性能)之外,它還會警告您違反慣例的各種樣式問題。並指出偶爾的拼寫錯誤。
  2. FxCop是高度可定製的。例如,可以關閉所有樣式推薦,並只啓用錯誤檢查。這將給你帶來直接的好處,而不必改變你的風格。
  3. 真的取決於您啓用了多少FxCop以及代碼庫的大小。我發現在我的個人項目中,很少需要一個多小時才能建立起來。但是對於一個大型項目,我會安排一天或兩天的時間。
+1

重3點,它可能有助於允許一兩天的工作量方面,但在一個星期左右的實時傳播這一點,要坐下來爲一個團隊第一次做出正確的選擇是非常困難的。 –

+0

謝謝JaredPar和其他人。看起來我們會試試這個工具。我們只是發佈後,所以我有一些時間這樣的事情。 – Paul

+0

順便說一句,代碼庫有數百個類,所以它是相當大的。 – Paul

1

我發現fxCop是一個強制執行編碼標準的好工具。如果您已經擁有自己的標準,並且始終如一地遵守它,那麼我看不出有太多理由需要更改,甚至更多的代碼行也是如此。設置很簡單,運行和修復一切都是別的。

4

是的。我用了一年半。它發現了各種問題和困難,它教會了我一兩件事。微軟在許多情況下都是最好的。

設置只是勾選幾個框並修改一些構建腳本的問題,非常值得您付出努力。如果你研究你所不瞭解的並且保持開放態度的決定,你會從中學到很多東西。

2
  1. 它有用的大部分時間,並不總是! (你只需要認真對待一些核心問題,而忽略了在微軟風格中開發代碼非常特別的問題)。

  2. 一些由它給出的指導意見是獨立的風格,取決於你是否遵循良好的編程習慣或沒有,所以是你可以從它那裏得到一些指導。

  3. 我不認爲安裝程序會花費你很多時間,它應該是最多幾個小時。

感謝

0

到FxCop的規則,另一種方法是使用該工具NDepend的。此工具可以讓寫編碼規則在C#LINQ查詢what we call CQLinq免責聲明:我是在默認情況下被提出的工具

1)比200 code rules更多的開發者之一。由於它們涵蓋了廣泛的檢查(代碼質量,.NET Fx使用,結構,設計,演變,重大更改,死代碼,命名約定...),因此它們使工具有效,因爲它們涵蓋了廣泛的範圍。

2)自定義現有規則或創建您自己的規則很簡單,這要歸功於着名的 C#LINQ語法。

3)可以驗證規則live in Visual Studio並在構建過程時間,在generated HTML+javascript report。這個設置很簡單,最多幾個小時。

3)bis 以後我會學到一些有用的東西嗎?

讓我們引用此推哈坎Tuncer:It's amazing to see how much you can learn just by reading the ‪#NDepend‬ rules.Rule descriptions even contain references to blog links.