SonarQube вызывает серьезное нарушение В моем коде не должно выполняться глухая математика. В описании говорится
Некоторые математические операции просто глупы и не должны выполняться потому что их результаты предсказуемы.
В частности,
anyValue
% 1 глупо, потому что он всегда будет возвращать 0.
В моем случае, однако, anyValue
является двойным. И для меня это работает . Вот фактический код:
double v = Double.parseDouble(Utils.formatDouble(Double.valueOf(value.getValue()), accuracy.intValue()));
boolean negative = v < 0;
v = Math.abs(v);
long deg = (long) Math.floor(v);
v = (v % 1) * 60;
Является ли анализатор, предполагающий, что моя переменная является int
(что является их ошибкой)? Или я пропущу что-то еще?