Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个类型来定义和分配一些静态只读字段。我违反了方法太大(LOC)
我想知道我是否有方法的属性,并在规则中使用它(见下文)。在我的源代码中,我需要使用这个属性来丢弃“这个和哪个”方法?
示例代码:
示例规则:
为什么 NDepend 将静态字段计为方法的 LOC
这是因为当你做一个静态字段内联初始化时,它会在类构造函数中添加一行代码。实际上,只要您在一个类中有一个静态字段内联初始化,C# 编译器就会为您的类创建一个静态构造函数。因此,如果您有 N 个静态字段内联初始化,那么您就有一个具有 N 行代码的方法(类构造函数)。
NDepend 在这里报告的大方法名为BassAttributeNames..cctor(). 当然,调整代码规则以避免这种匹配的最简单方法是添加子句:
BassAttributeNames..cctor()
&& !m.IsClassContructor