Получение: Удалить этот избыточный прыжок в SonarQube - PullRequest
1 голос
/ 10 апреля 2019

У меня есть метод, в котором есть условия if else. If-else выглядит примерно так, как показано ниже.

public void agreementCoduct(String agreement) {
       if(agreement.equals("Pass")) {
         { //do someting
           return; // getting Remove this Redundant Jump
         } else if(aggrement.equals("NotPass")) {
           // do something
           return; // getting Remove this Redundant Jump
        } else {
          // do something 
          return; // getting Remove this Redundant Jump
        }

}

Я запускаю Sonarqube для проверки качества кода. Это показывает сообщение «Удалить этот избыточный прыжок». , Я хочу знать, как я могу удалить этот запах кода и все же достичь того, чего я хочу. так как это пустой метод, вернемся; должно работать нормально?

Ответы [ 3 ]

3 голосов
/ 10 апреля 2019

Операторы возврата не действуют, потому что у вас нет кода после блока if-elseif-else. Если вы удалите операторы return, ваш код покинет соответствующий блок if и вернется в конце метода.

Выполняется только первый из блоков if-elseif-else, который оценивается как true.

В конце void-метод имеет неявный оператор return.

1 голос
/ 10 апреля 2019

Это избыточно, потому что после последнего вы ничего не делаете.

0 голосов
/ 10 апреля 2019

Эти return операторы являются избыточными, так как вы используете if-else if-else.Это означает, что код в любом из этих блоков будет только выполняться, а другие никогда не будут выполнены, что вам и нужно.

...