2014-02-14 41 views
0

我使用TFS要求開發人員通過簽入策略使用代碼分析。如果發生任何錯誤,他們不能檢查他們的代碼。要求證明有關抑制錯誤

然而,他們可以壓制信息並仍然登記。當他們這樣做時,我想要求他們爲他們的行爲提供理由。這可以留空。

有什麼方法可以強制執行此操作並且不允許將理由留空嗎?

+1

「他們」總是做壞事。要麼成爲他們的一部分,並改爲「我們從不檢查糟糕的代碼」或用棍子擊敗他們,直到「他們」很高興......不太清楚你的帖子的哪部分與代碼有關 - 更改總是在源代碼控制,所以當有人被騙時顯然是清楚的。那麼爲什麼不假定開發者不會欺騙並且完成它呢? –

+0

我從來沒有說過「他們」我們做壞事。我只是暗示程序員可能是懶惰的,並且要求他們填寫一個簡單的評論來解釋拒絕的原因,之後我可以檢查他們爲什麼要抑制這些錯誤。如果我允許他們壓制這個錯誤,甚至顯示這些錯誤的意義何在?我想獲得某種「正確」的代碼,這些代碼可以通過代碼分析自動執行。但是,如果他們再次抑制顯示的錯誤,我想知道爲什麼。所以請,你知道任何方式來配置? – Matthijs

回答

0

你可以添加自定義代碼分析規則,以檢查丟失或空的理由。有一個例子,在http://www.binarycoder.net/fxcop/html/ex_specifysuppressmessagejustification.html

+1

然後可以抑制哪些因此它不會搜索其他理由? – Matthijs

+0

是的,但只有一個理由。 ;)更爲嚴肅的一點是,如果你關心理由,他們應該包含在手工代碼評論中,所以像這樣的規則實際上只是一個非常明顯的問題的過濾器。 –

+0

不,沒有理由,因爲你可以抑制新實施的Justificationrule,從而使SuppressMessages不再有一個理由。像這樣的規則是過時的,因爲這會帶來與所有其他代碼分析錯誤相同的問題;他們可以被壓制,導致他們被跳過。 – Matthijs

0

爲什麼不設置構建服務器並使用gated簽入。然後將構建定義設置爲始終運行代碼分析。如果代碼分析失敗,那麼構建會失敗(如果這是在我們的項目中設置的),並且在修復代碼分析之前不會發生簽入,這會導致構建失敗。

+0

如前所述,您可以禁止這些錯誤,允許程序構建並跳過您已禁止的錯誤。所以這真的不是一種選擇,因爲我已經通過TFS強制執行了代碼分析。 – Matthijs