2
我有一個類型來定義和分配一些靜態只讀字段。 我得到了違反方法太大(LOC)爲什麼NDepend將方法的靜態字段計數爲LOC
我想知道我是否有方法的屬性,並在規則中使用它(見下文)。我的源代碼在哪裏,我需要使用這個屬性來拋棄「這個和哪個」方法?
示例代碼:
樣品規則:
我有一個類型來定義和分配一些靜態只讀字段。 我得到了違反方法太大(LOC)爲什麼NDepend將方法的靜態字段計數爲LOC
我想知道我是否有方法的屬性,並在規則中使用它(見下文)。我的源代碼在哪裏,我需要使用這個屬性來拋棄「這個和哪個」方法?
示例代碼:
樣品規則:
爲什麼NDepend的計算靜態字段作爲LOC的方法
這是因爲當你做一個靜態字段內聯初始化,它將一行代碼添加到類構造函數中。實際上,只要在類中有一個靜態字段內聯初始化,C#編譯器就會爲您的類創建一個靜態構造函數。所以如果你有N個靜態字段內聯初始化,你有一個有N行代碼的方法(類構造函數)。
NDepend在這裏報告的大型方法名爲BassAttributeNames..cctor()
。當然,修改代碼規則以避免這種匹配的最簡單方法是添加子句:
&& !m.IsClassContructor