报告“过度范围”的成员

时间:2011-06-13 01:58:38

标签: c# continuous-integration build-automation visibility

我正在开发一种高度可扩展的产品,并且有一个SDK。我们必须检查的是,成员和类的可见性不高于要求。组件成员的可见性越高,它产生的“维护”就越多。

我想要一个可以生成报告的工具,作为夜间构建的一部分,通过分析程序集,可以告诉我是否已经引入了“过度可见” - 即被标记为公共/受保护,但是仅在同一组件中使用......依此类推。

那里有什么可以做到的吗? 我看过NDepend,但它非常复杂,我无法制作一个符合我想要的CQL表达式。

1 个答案:

答案 0 :(得分:1)

使用NDepend分析您的代码,然后在Code Rules and Queries over LINQ资源管理器面板中查看可见性组。该组包含几个CQLinq规则,警告超范围的类型和成员:

Visibility group

这些规则包括:

此类规则可以是checked live in VisualStudio,也可以是report produced during nightly build CI process。在VS中运行这样的规则看起来像:

enter image description here