您希望 FxCop 和/或 Gendarme 添加什么可定义的静态代码检查规则?

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

你的规则如何实施?

有帮助吗?

解决方案

个人而言,我宁愿看到在IDisposable语句不使用using实现。

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

var fs = new FileStream(...);

// Other code.

fs.Dispose();

这将告诉你在using语句中使用它。

在好处是,它会提醒你,你的情况可能不知道,应该没有被设置在及时处置,其中的对象。

不过,也有足够的时间它是一个有效的情况在using语句没有声明IDisposable实现了这样的规则很快成为一种痛苦。大多数情况下,这种情况下,服用IDisposable实现作为参数的方法。

我什么的意思是类用途,其中实现细节删除需要调用Dispose,(例如MemoryStreamDataContext);这些实施IDisposable,应始终都Dispose呼吁它们,无论的实施的细节,因为它始终是针对暴露出的合同更好的代码。

其他提示

我想很快地定义并实施我自己的规则。我在 FxCop 上尝试过一次,但我发现 API 不是很清晰 - 并且周围没有太多文档。我使用了 FxCop 1.36,也许情况发生了变化......

所以我希望看到 FxCop 拥有一个清晰且易于使用的界面......那太好了 :)

我尝试执行的规则是:

  • 文档内部方法
  • 文档内部类型
  • ...

基本上我想对非公共成员强制执行 xml 注释。

我真的很喜欢这个二进制分析是足够聪明的识别接口的可能性。

如果它可以从接近定义的类型和它们的成员确定,如果有可能被外推到一个公共的接口

显然,这不应该超过一个警告多,因为它有时whished明确不使用的接口。

在想着这件事,我也想看看二进制分析,足够聪明,检查访问修饰符的评级可能被下调。

它不应该是硬,以确定是否一个类,属性或方法可以更受限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top