你希望FxCop/Gendarme有什么规则?

Ian*_*ose 7 fxcop static-code-analysis gendarme

您希望将哪些可定义的静态代码检查规则添加到FxCop和/或Gendarme中?

您为什么希望看到添加规则,例如有什么好处?

你的规则如何实施?

cas*_*One 1

就我个人而言,我希望看到不在语句IDisposable中使用实现using

所以如果你有这样的代码:

var fs = new FileStream(...);

// Other code.

fs.Dispose();
Run Code Online (Sandbox Code Playgroud)

它会告诉您在声明中使用它using

这样做的好处是,它会提醒您注意您可能不知道的情况,即应处置的对象未及时处置的情况。

然而,很多时候,在IDisposableusing 语句中不声明实现是有效的,这样的规则很快就会变得很痛苦。大多数情况下,这种情况是将IDisposable实现作为方法的参数。

我的意思并不是Dispose说类的用法,其中实现细节消除了调用, (例如MemoryStreamDataContext);的需要。这些实现IDisposable并且应该始终调用它们,无论实现Dispose细节如何,因为根据公开的合约进行编码总是更好。