这个条件模式有没有名字?
问题描述:
有两种方法,以确保满足条件:这个条件模式有没有名字?
-
最简单的方法是使用
if
与条件:if (condition) { /* execute code */ }
-
另一种方式是类似的,但我检查了否定条件和
return
如果这是给出:if (!condition) { return; } /* execute code */
这种模式是否有名字? 我试过Googleing它,但没有成功...
答
我相信这种模式叫做提前退出。
答
他在问我相信什么样的模式被称为一般,所以他可以研究它们。他们被称为条件逻辑。所以,如果你谷歌条件逻辑模式...有很多谷歌响应。
答
以前的答案很好,但是模式的名称更加精确。我们先看看其他名字。
- 这两个例子是条件逻辑,这样的名字并没有真正帮助我们区分了负收益的积极执行。
- 负回报确实构成提前退出但由于还有其他方法可以实现提前退出,因此该名称不是特定于此示例。
- 负回报可能是快速失败但是
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