1

我们在构建服务器中使用代码分析,严格限制如果代码分析规则中断,我们不能提交代码。CA1822 已启用,因此我们有很多很多静态功能。现在我们想通过模拟和依赖注入来强制进行单元测试。但是对于我们的许多静态函数来说,模拟一些静态函数并不容易。特别是当静态函数调用静态函数时。我正在考虑禁用 CA1822 以减少静态功能,因为我在问自己:CA1822 对于使用模拟固件和代码注入的开发来说已经过时了吗?我读过许多其他问题,表现不是问题。那么如何使函数静态化呢?在我看来,CA1822 导致了糟糕的设计。我错了吗?

4

1 回答 1

2

CA1801 是 ReviewUnusedParameters 规则。CA1822 是 MarkMembersAsStatic,我猜这实际上会给您带来问题。

好消息是这些规则都不会触发接口方法的实现,因此如果您开始通过接口解耦以启用控制反转和单元测试的模拟替换,那么您应该没有任何规则问题。

于 2013-09-05T13:03:15.533 回答