哪个是验证传递给函数的输入的最佳方式,即在进行某些事情之前验证所有输入
class A;
void fun(A* p)
{
if(! p)
{
return;
}
B* pB = p->getB();
if(! pB)
{
return;
}
.......
}
还是这样写:
void fun(A* p)
{
if(p)
{
B* pB = p->getB();
if(pB)
{
.....
}
}
}
我问这个是因为,如果我使用第一种风格,那么我的代码中会有多个 return 语句,很多人说这是不好的(不知道为什么),如果我使用第二种风格,那么会有我的代码中的嵌套级别太多。
最佳答案
第一种方式比第二种方式更容易阅读并且(按深度)不那么复杂。在第二个中,复杂性和深度随着参数数量的增加而增加。但在第一个示例中,它只是线性的。
关于c++ - 编码风格 - 输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/474063/