有两种方法,以确保满足条件:这个条件模式有没有名字?
最简单的方法是使用
if
与条件:if (condition) { /* execute code */ }
另一种方式是类似的,但我检查了否定条件和
return
如果这是给出:if (!condition) { return; } /* execute code */
这种模式是否有名字? 我试过Googleing它,但没有成功...
有两种方法,以确保满足条件:这个条件模式有没有名字?
最简单的方法是使用if
与条件:
if (condition)
{
/* execute code */
}
另一种方式是类似的,但我检查了否定条件和return
如果这是给出:
if (!condition)
{
return;
}
/* execute code */
这种模式是否有名字? 我试过Googleing它,但没有成功...
我相信这种模式叫做提前退出。
他在问我相信什么样的模式被称为一般,所以他可以研究它们。他们被称为条件逻辑。所以,如果你谷歌条件逻辑模式...有很多谷歌响应。
我经常用它。但我不知道它是否真的有名字。
我把它作为fail-fast的衍生物考虑。
它通过隔离开始时没有名义的情况并保留名义/经典情况,提高了可读性。
以前的答案很好,但是模式的名称更加精确。我们先看看其他名字。
return
是否一定是失败是值得商榷的。抛出一个例外将是一个更好的快速失败的例子,也将构成提前退出。负回报更准确地说是guard clause,这也是refactoring模式。
我已经看到了多个名字在野外的第二图案(具有return语句)
它通常用于减少代码中嵌套级别的数量,并有助于提高可读性。
它被称为'“如果”语句“ - [if-else(C#引用)](https://docs.microsoft.com/zh-cn/library/default.aspx)。com/en-us/dotnet/csharp/language-reference/keywords/if-else) – Fabio
我不知道是否有这个名字,但我认为这部分建议避免了太多的嵌套层次代码块。通过使用上面描述的第二种形式,可以避免在'/ *执行代码* /'内的任何其他块进一步嵌套。而且你的代码嵌套越少(至少在我看来)越容易让人理解你的代码。 – Discoverer98