Бесполезное выражение при удалении ключевого слова return из условного - PullRequest
0 голосов
/ 13 июля 2020

SonarQube только что оценил следующее выражение как запах кода из-за наличия ключевого слова return в теле метода. Однако, если я удалю return IntelliJ предупредит о бесполезном выражении.

Условие будет следующим.

 if (map.contains("numProperties")) {
    if (map("numProperties").toInt >= 20)
      return true

    return false
  }
  true

1 Ответ

5 голосов
/ 13 июля 2020

Это, вероятно, то, что вы хотите:

map.get("numProperties").forall(_.toInt >= 20)

get возвращает Option, а вызов forall на Option возвращает true, если Option пуст или если проверка содержимого вернет true.

При сохранении исходной формы это будет:

if (map.contains("numProperties")) {
  if (map("numProperties").toInt >= 20) {
    true
  } else {
    false
  }
} else {
 true
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...