2
我在我的代碼少數情況下,風格警察給出的是:如何獲取樣式警察忽略違反的具體實例
「SA1119:這一行包含不必要的括號。」
現在我完全同意這一點,如果我有一行代碼,上面寫着:
int someValue = (((12 + 3) + 5));
然而,當我有更復雜的東西,如:
textXpos = ((((float)this.Width - imageoffset) - textsize.Width)/2);
我知道我可以重寫這個像:
textXpos = (((float)this.Width - imageoffset - textsize.Width)/2);
而且它會評估到相同的值,但我找到第一個一個更容易閱讀。有沒有辦法告訴styecop忽略這個錯誤的實例?
或者我需要通過將一些方程分配給臨時變量來解決這個問題嗎?
我不想將這段代碼包裝在自動生成的區域中,因爲我希望樣式警察評估這段代碼。
感謝
通過ken2k基礎上的建議,我嘗試了以下內容:
using System.Diagnostics.CodeAnalysis;
。 。 。
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1119:StatementMustNotUseUnnecessaryParenthesis", Justification = "Better for readability.")]
public int Testmethod()
{
int returnValue = (((5 - 5) - 5)/2);
return returnValue;
}
但這似乎沒有任何效果?我錯過了什麼嗎?
它從來沒有發生,我認爲它可能對外面的括號被給予了!! D'oh – AidanO 2012-01-09 14:24:46
是的,我在這裏遇到同樣的問題。我認爲Stylecop團隊擺脫了「微軟」字符串,但顯然不是。查看更新的答案。 – ken2k 2012-01-09 14:43:22
啊你的回答比我的好多了,「StyleCop 4.3中有一個bug,我需要升級到4.4。謝謝。 – AidanO 2012-01-09 14:45:43