Есть ли причина, по которой это не избыточный код? - PullRequest
1 голос
/ 15 июня 2010

Я встречал этот код в некоторой существующей кодовой базе:

double rad = ComputeCurviness();
double off = Math.Abs(rad);
if (rad < 0) off = -off;

Кажется, что в основном просто off равен rad. Переменные позже используются взаимозаменяемо в коде. Есть ли причина оставить этот код в?

1 Ответ

6 голосов
/ 15 июня 2010

Если rad равно -0,0, off будет +0,0.Вы должны были бы проверить код, чтобы видеть, действительно ли это будет иметь значение.Они эквивалентны, когда дело доходит до вычислений и сравнений, но -0.0 отрицательно, что вы можете обнаружить, если попытаетесь достаточно усердно.

...