2012-11-13 79 views
0

我目前正在開發一個mvc4項目,該項目與一組wcf服務通信。我正在爲一個開發團隊設置tfs構建。與fxcop的協助

我一般都是fxcop和代碼分析的新手。我目前正在研究它,並有以下問題:

  • 建議使用fxcop附帶的規則嗎?
  • 它應該在構建期間作爲構建任務包含在內嗎?
  • 它的價值是什麼?
  • 有什麼規則遵守的指導方針,還是最好採用默認方式?
  • 將分析作爲構建後事件運行是否正確?

我是fxcop的新手,想要一些反饋。我是因爲它正在將stylecop整合到我的構建中。

回答

1

看看這個haacked博客文章:http://haacked.com/archive/2012/07/05/turkish-i-problem-and-why-you-should-care.aspx

我認爲它回答了你的大部分問題。一些指針是:

是否推薦使用fxcop附帶的規則?

對於新項目,我會啓用所有規則,並隨着時間的推移禁用那些您發現分心的項目。對於現有的項目,我會啓用最少的規則,並隨着時間的推移慢慢添加新規則並根據需要清理代碼。

代碼分析規則是:

它應該包括爲建立過程中生成任務?

是的。這是我使用的方法:http://kentb.blogspot.co.nz/2011_01_01_archive.html

如果您的IDE支持它,可以通過UI啓用它。然而,當不同的項目使用不同的規則集時,我遇到了問題(例如,單元測試項目可能會更放鬆)。 kentb博客的程序適用於該問題。

或者,您可以直接從後期構建事件調用FxCop。

它的價值是什麼?

結構良好的代碼和減少的生產問題。

有什麼規則遵守的指導方針,還是最好採用默認方式?

再次 - 隨你的任何作品。例如,你可能並不在意二進制文件沒有強名稱。這個被詬病的博客文章有一些很好的建議。

將分析作爲後期構建事件運行是否正確?

如果您關注kentb的博客文章,或者通過IDE GUI啓用它(假設您的IDE支持它),那麼它將作爲構建過程的一部分運行。如果您直接調用FxCop,則需要將其作爲構建後事件來完成。

+0

非常好的反饋,從中學到了很多。我正在開發一個支持不同/文化和語言的應用程序,所以這對我來說非常重要。 – amateur