我正在开发一种高度可扩展的产品,并且有一个SDK。我们必须检查的是,成员和类的可见性不高于要求。组件成员的可见性越高,它产生的“维护”就越多。
我想要一个可以生成报告的工具,作为夜间构建的一部分,通过分析程序集,可以告诉我是否已经引入了“过度可见” - 即被标记为公共/受保护,但是仅在同一组件中使用......依此类推。
那里有什么可以做到的吗? 我看过NDepend,但它非常复杂,我无法制作一个符合我想要的CQL表达式。
答案 0 :(得分:1)
使用NDepend分析您的代码,然后在Code Rules and Queries over LINQ资源管理器面板中查看可见性组。该组包含几个CQLinq规则,警告超范围的类型和成员:
这些规则包括:
此类规则可以是checked live in VisualStudio,也可以是report produced during nightly build CI process。在VS中运行这样的规则看起来像: