0

我需要对我的一些类执行一些验证,例如:

  1. 每个类字段必须是最终的或每个程序有一个写入(单例);

  2. 如果该字段不是最终的,那么它必须是私有的;

  3. 每个数组都必须是私有的。

我已经看到 findbugs 和 checkstyle 可以进行这种检查,但默认情况下我没有看到它们,我发现它的唯一选择是为 checkstyle(用于约定检查)和 findbugs(用于错误检测)。有没有更好的选择?

我正在使用带有 FindBugs 和 CheckStyle 插件的 Eclipse Indigo 的 Windows 7 x64。

4

4 回答 4

4

配置 Eclipse 警告(一些好的警告设置为非活动!):

  • 检查未使用的参数
  • 建议将方法设为静态
  • 关于私人,您应该使用其他工具(可能是 PMD 或 CheckStyle)
  • ...

Eclipse 保存操作:

  • 尽可能添加 final
  • 可以通过自动格式化代码来强制执行一些编码风格

使用 FindBugs 和 FindBugs contrib 查找更多错误。如果要执行样式/格式检查,请使用 PMD 和 CheckStyle。

我还建议使用错误而不是警告,这迫使我处理一些必须修复的邪恶警告。FindBugs 也是如此,如果您使用 Maven 插件,您可以在出现错误时使构建失败(因此请仔细选择您的规则)。我在 Eclipse 中运行其他可选规则作为补充。

于 2012-11-20T13:07:16.207 回答
1

Checkstyle 可以开箱即用地处理所有这些检查。

文档中,您可以找到所有可能的检查以及如何配置它们。

此外,如果这还不够,您还有机会为 checkstyle 或 finbugs 创建自己的检查。

于 2012-11-20T13:11:07.777 回答
1

我们使用了一些 Eclipse 内置功能来处理警告和错误(用于基础),并使用 findbugs 来处理更复杂的问题。

但是,如果我们想要检查一些非常具体的东西(就像所有以 Singleton 结尾的类仅在特定包中调用),我们编写了一些文本扫描器脚本(在 perl 中)来执行此操作。

我不会推荐这么多,但如果你必须...

于 2012-11-20T13:01:11.623 回答
0

如果 checktyle 中的现有检查不能完全按照您想要的方式解决您的问题,您可以使用PMD,其中可以使用 XPath 表达式轻松实现自定义规则。参考。:如何编写 PMD 规则

于 2012-12-24T03:28:20.153 回答