您希望在FxCop和/或Gendarme中添加什么可定义的静态代码检查规则?
为什么你希望看到添加的规则,例如,有什么好处等?
您的规则如何实现?
发布于 2010-02-16 22:35:09
就我个人而言,我不希望在using语句中使用IDisposable实现。
所以如果你有这样的代码:
var fs = new FileStream(...);
// Other code.
fs.Dispose();它会告诉您在using语句中使用它。
这样做的好处是,在您可能没有意识到本应被释放的对象没有及时被释放的情况下,它会提醒您。
然而,在很多情况下,不在using语句中声明IDisposable实现是合理的,这样的规则很快就会变得令人痛苦。大多数情况下,这种情况是将IDisposable实现作为方法的参数。
我的意思不是使用实现细节不需要调用Dispose的类(例如MemoryStream或DataContext);那些实现IDisposable的类应该始终调用Dispose,而不管实现细节是什么,因为根据公开的契约编写代码总是更好的。
发布于 2010-02-16 22:34:13
我想非常快地定义和实现我自己的规则。我在FxCop上试过一次,但我发现它的应用程序接口不是很清楚--而且周围也没有太多的文档。我用的是FxCop 1.36,也许事情变了.
所以我希望看到FxCop有一个清晰易用的界面……那就太好了:)
我尝试实现的规则是:
基本上,我想对非公共成员执行xml注释。
发布于 2010-02-16 23:00:10
我真的希望二进制分析足够智能,能够识别出接口的可能性。
如果它可以通过接近定义的类型和它们的成员来确定是否有可以外推到接口中的commons。
显然,这只是一个警告,因为有时会希望显式地不使用接口。
https://stackoverflow.com/questions/2273564
复制相似问题