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

Nic*_*win 1 .net c# redundancy absolute-value

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

double rad = ComputeCurviness();
double off = Math.Abs(rad);
if (rad < 0) off = -off;
Run Code Online (Sandbox Code Playgroud)

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

小智 6

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

  • 谁是如此沮丧,甚至*零*必须表现为否定? (3认同)