对于在C ++中编写代码的良好实践感到好奇,请以下代码为例:
int do_something()
{
bool bHas;
....
....
if (bHas)
{
...
return 1;
}
... do something else
...
return 2;
}
在上面的代码中,我们可以看到bool bHas
是否设置为true,那么函数将在中间完成;否则它将继续执行其余代码。也可以通过以下方式编写上述代码:
int do_something()
{
bool bHas;
....
....
if (bHas)
{
...
return 1;
}
else
{
... do something else
...
return 2;
}
}
正如您所看到的,这次' else
'用于根据bool bHas
的值准确说明将要执行的操作。我的问题是:哪种做法更好?谢谢。
答案 0 :(得分:-2)
乍一看,第二次看起来更好,因为它在退货声明中是一致的。对我来说,在方法中使用单点返回更为可取。它使识别语句,调试和扩展代码更容易,更不容易出错。我会写类似
的东西int do_something()
{
bool bHas;
....
....
int retValue;
if (bHas)
{
...
retValue = 1;
}
else
{
... do something else
...
retValue = 2;
}
.....
return retValue;
}