冗余代码构造

Dio*_*lis 7 coding-style

我经常看到的最令人震惊的冗余代码构造涉及使用代码序列

if (condition)
    return true;
else
    return false;
Run Code Online (Sandbox Code Playgroud)

而不是简单的写作

return (condition);
Run Code Online (Sandbox Code Playgroud)

我已经在各种语言中看到了这个初学者错误:从Pascal和C到PHP和Java.你会在代码审查中标记出哪些其他类似的结构?

Pau*_*lin 11

if (foo == true)
{
   do stuff
}
Run Code Online (Sandbox Code Playgroud)

我一直告诉开发人员应该这样做

if ((foo == true) == true)
{
   do stuff
}
Run Code Online (Sandbox Code Playgroud)

但他还没有得到这个暗示.

  • 不要给他们反向建议,只会让他们感到困惑. (3认同)

Oth*_*ide 10

if (condition == true)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

代替

if (condition)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

编辑:

甚至更糟糕的是扭转条件测试:

if (condition == false)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

很容易读作

if (condition) then ...
Run Code Online (Sandbox Code Playgroud)


Ros*_*ant 8

使用注释而不是源代码控制:
- 删除或重命名函数而不是删除它们并信任源代码控制可以在需要时为它们返回.
- 添加"RWF Change"之类的评论,而不仅仅是进行更改并让源控制分配责任.


zou*_*oul 5

在某处我发现了这个东西,我发现它是布尔冗余的顶峰:

return (test == 1)? ((test == 0) ? 0 : 1) : ((test == 0) ? 0 : 1);
Run Code Online (Sandbox Code Playgroud)

:-)


WW.*_*WW. 3

最后无用地返回:

   // stuff
   return;
}
Run Code Online (Sandbox Code Playgroud)