我们在构建服务器中使用代码分析,但是如果代码分析规则中断,我们就无法提交代码。 CA1822已启用,因此我们有许多静态功能。现在我们想要通过模拟和依赖注入来强制进行单元测试。但是使用我们的许多静态函数,模拟一些静态函数并不容易。特别是当静态函数调用静态函数时。我正在考虑禁用CA1822来减少静态功能,因为我自己也在问:CA1822是否已经过时了用于模拟fw和代码注入的开发?我读了许多其他问题,表现不是问题。那么使函数静态呢?在我看来,CA1822导致了糟糕的设计。我错了吗?
答案 0 :(得分:2)
CA1801是ReviewUnusedParameters规则。 CA1822是MarkMembersAsStatic,我猜这个实际上是给你造成问题。
好消息是这些规则都不会触发接口方法的实现,因此如果您开始通过接口解耦以便启用控制反转和模拟替换单元测试,那么您应该对这两个规则都没有问题。