有没有理由在方法的第二行使用'return'?

Yan*_*hof 3 c# c++

我有这个代码,我们可以用两种方式编写

第一道路

void func(int val)
{
     if(val == 0)
          return;

     // Do something ...
}
Run Code Online (Sandbox Code Playgroud)

第二种方式

void func(int val)
{
     if(val != 0)
     {
          // Do something ...
     }          
}
Run Code Online (Sandbox Code Playgroud)

问题:

有没有理由使用第一种方式?是否有任何优势使用第一种方式(在C++或C#中)

ser*_*nka 10

使用第一种方法的主要原因是减少源文件中的嵌套.


tym*_*tam 5

请参阅反转"if"语句以减少嵌套.

基本上,当'//做某事......'是很多代码时,这变得很重要.


Den*_*nis 5

想象一下,有多个条件,看看这个:

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

还有这个:

if (!...)
  return;

if (!...)
  return;

if (!...)
  return;

if (!...)
  return;

if (!...)
 ...
Run Code Online (Sandbox Code Playgroud)

我认为,第二个更方便可读.
如果有一个或两个条件,差异是微不足道的.