【发布时间】:2021-02-17 22:54:57
【问题描述】:
这是我运行良好的代码。但是当我推送代码时,sonarqube 质量门由于认知复杂性而失败。有关解决此声纳问题的任何想法
if (bbResponse.getEmails() != null && !bbResponse.getEmails().isEmpty()) {
bbResponse.getEmails().stream().forEach((BBEmail bbEmail) -> {
if ("CHK".equals(bbEmail.getSEQ())) {
//CODE
} else if ("CHT".equals(bbEmail.getSEQ())) {
//CODE
} else if ("MYT".equals(bbEmail.getSEQ())) {
//CODE
} else {
throw new IllegalStateException();
}
});
}
【问题讨论】:
-
您也可以使用
switch语句来执行此操作(除非您使用的是 Java 的超旧版本)。但我不知道 Sonarqube 是否会认为这不那么复杂。 -
进一步简化。嗯.. 尝试为这些声明标识符:
bbResponse.getEmails()和bbEmail.getSEQ()
标签: java sonarqube sonarqube-scan