我们的项目包含几个类,我们有Eclipse生成的equals()和hashCode()方法(右键单击 - > Source - >生成hashCode()和equals())。
示例:
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final MyTO other = (MyTO) obj; if (num != other.num) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (table == null) { if (other.table != null) return false; } else if (!table.equals(other.table)) return false; return true; }
这些方法适用于我们的应用程序,但遗憾的是没有通过Checkstyle的圈复杂度检查。由于这些方法是自动生成的,因此我们不关心它们的复杂性。我们可以从Checkstyle中抑制整个类,但我们希望能够只排除这两种方法。
有没有人知道如何在Checkstyle中创建自定义规则,允许我们以任何方式排除生成的equals()和hashCode()方法,而不排除整个类?
答案 0 :(得分:5)
您应该设置SupressionCommentFilter
。有关此here的更多信息。
有时违反支票有正当理由。如果这是有问题的代码而不是个人偏好,则覆盖策略的最佳位置是代码本身。半结构化注释可与检查相关联。