这是验证传递给函数的输入的最佳方法,即在进行类似操作之前是否先验证所有输入

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/

10-12 05:40