SonarQube: вызывать методы только условно — регистратор выполняет ненужные функцииJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 SonarQube: вызывать методы только условно — регистратор выполняет ненужные функции

Сообщение Anonymous »

Разве логгеры в Java не должны выполнять функции в аргументах только в том случае, если достигнут уровень журнала?
Итак, здесь, в моем примере, я бы предположил, что сообщение «Выполнена дополнительная работа» появится только один раз. Что мне здесь не хватает?

Код: Выделить всё

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;

@Slf4j
public class LogTest {

@Test
void test() {
runDebug();
runInfo();
}

private void runInfo() {
log.info("hi @ info {}", additional());
}

public void runDebug() {
log.debug("hello @ debug {}", additional());
}

private String additional() {
log.info("Did additional work...");
return "sup";
}
}
Вывод на консоль:

Код: Выделить всё

15:10:28.249 [main] INFO test.LogTest -- Did additional work...
15:10:28.252 [main] INFO test.LogTest -- Did additional work...
15:10:28.252 [main] INFO test.LogTest -- hi @ info sup
ПС. Я прочитал SonarQube: Вызов метода(ов) только условно и SonarQube: «Вызов метода(ов) только условно». Кажется, я это понял, но в моем случае это работает неправильно. В моем рабочем проекте произошел аналогичный случай, и SonarQube говорит, что это проблема.

Подробнее здесь: https://stackoverflow.com/questions/791 ... eeded-func
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»