Java 向eclipse中生成的toString、hashCode和equals添加注释
我经常使用generateTostring,并从eclipse中的下拉列表中生成hashCode和equals方法。我们的代码质量工具检查这些方法,并对循环复杂度进行评分。解决这个问题的简单方法是向方法添加@SuppressWarnings(“all”)注释 这是生成的代码Java 向eclipse中生成的toString、hashCode和equals添加注释,java,eclipse,annotations,tostring,hashcode,Java,Eclipse,Annotations,Tostring,Hashcode,我经常使用generateTostring,并从eclipse中的下拉列表中生成hashCode和equals方法。我们的代码质量工具检查这些方法,并对循环复杂度进行评分。解决这个问题的简单方法是向方法添加@SuppressWarnings(“all”)注释 这是生成的代码 @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Export
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("ExportServerJpa [protocol=").append(protocol)
.append(", serverName=").append(serverName).append(", port=")
.append(port).append(", keyPhrase=").append(keyPhrase)
.append("]");
return builder.toString();
}
这是我们必须登记的
@Override
@SuppressWarnings("all")
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("ExportServerJpa [protocol=").append(protocol)
.append(", serverName=").append(serverName).append(", port=")
.append(port).append(", keyPhrase=").append(keyPhrase)
.append("]");
return builder.toString();
}
默认情况下,eclipse是否可以设置为包含@SuppressWarnings(“all”)注释
我们不能修改我们的代码质量系统来忽略这些方法我使用javax.annotation.Generated annotation来避免sonar中的问题,但我保留了所有类似这样的警告。当您试图绕过导致其失败的度量标准时,拥有代码质量工具的全部意义就失去了。大多数代码质量工具都是可配置的。代码质量工具的哪个指标失败了?它是圈复杂度和if语句必须有大括号规则。我理解检查背后的原因,对于我们自己编写的代码,我们确保满足这些标准。但是对于生成的代码来说,将equals方法拆分为子方法似乎毫无意义,因为在一个方法中有太多if语句。这样一个具有单个代码路径且没有任何条件的方法怎么会提高圈复杂度呢?什么样的代码质量体系会满足于
@SuppressWarnings(“all”)
,而不是敲响警钟?真的有问题…这是一个米老鼠的例子,我碰巧在那个时候打开了。一个更好的例子是有12个实例变量的不同类。它生成的equals方法有60行长,其中有32条if/else if/else语句。导致我们的代码质量系统出现警告