每种方法只有一个return语句,即使在这种情况下?

Bla*_*man 12 methods return

我喜欢return每种方法只有一个语句的想法.

你在这种情况下做了什么?

public static string ChopText(string Text)
{
   if (String.IsNullOrEmpty(Text))
   {
      // return here ?????
   }
}
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一选择是设置一个标志,然后检查标志.

问题是,我不喜欢有超过一页的巨大if语句. 由于这个原因,我也看到了丑陋的嵌套if语句.

Dar*_*ron 25

坦率地说,像这样的情况是过于严格的规则是坏的.

这样的规则就是让代码更具可读性和可维护性,因此当它们使代码更难阅读时,应该忽略它们.

这并不意味着应该完全放弃规则,因为大多数时候它确实使代码更具可读性.


Tod*_*off 8

尝试每个函数只返回一个代码的代码要复杂得多.它通常是if-thens和作业的老鼠巢.我挑战你看看那种代码,并知道总是从那些不同的路径返回正确的值.没门.

话虽如此,大型函数表明您可能需要将代码重构为更简单的函数.


Pau*_*tin 7

我个人认为

public static string ChopText(string Text))
{
   if(String.IsNullOrEmpty(Text)
      return Text;

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

如果你不喜欢那些,如果它变得越来越大,那就完全没问题.