最近我碰到了以下C++代码:
if (a)
{
f();
}
else if (b)
{
f();
}
else if (c)
{
f();
}
Run Code Online (Sandbox Code Playgroud)
其中a,b和c都是不同的条件,并且它们不是很短.
我试图将代码更改为:
if (a || b || c)
{
f();
}
Run Code Online (Sandbox Code Playgroud)
但是作者反对说我的改变会降低代码的可读性.我有两个论点:
1)你不应该通过用三个替换一个分支语句来增加可读性(尽管我真的怀疑使用else而不是||可以使代码更具可读性).
2)这不是最快的代码,没有编译器会对此进行优化.
但我的论点并没有说服他.
你会告诉程序员编写这样的代码吗?
您是否认为复杂条件是使用其他而不是OR的借口?