有什么理由这不是冗余代码吗?

时间:2010-06-15 19:36:52

标签: c# .net redundancy absolute-value

我在一些现有的代码库中遇到了这段代码:

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

似乎基本上只是让off等于rad。变量稍后可在代码中互换使用。有没有理由留下这段代码?

1 个答案:

答案 0 :(得分:6)

如果rad为-0.0,off将为+0.0。你必须检查代码,看看这是否真的会产生影响。这两者在计算和比较方面是等价的,但-0.0是负数,如果你足够努力就可以检测到。