【发布时间】:2016-02-27 06:11:04
【问题描述】:
我看过很多例子,这让我非常好奇
两个例子如下:
- 在 void 函数的末尾加上
return;,这太荒谬了。 - 在函数中间使用
return;来突破它。我不喜欢它。
以下示例可能会阐明第二种情况(第一种情况很明显):
- SomeMethodThatReturnsSomethingOrNot(var param1){
if (param1 == null){
CallThisMethod();
return;
}
CallThisOtherMethod(param1);
}
对很多人来说,这很好,很清楚。对我来说,充其量可以接受。
为什么不简单地使用if else?您无需在代码中间使用 return 任何内容,它不会降低可读性,而且,我不知道还能说什么,这对我来说只是一种更好的做法。
- SomeMethodThatReturnsSomethingOrNot(var param1){
if (param1 == null){
CallThisMethod();
}else{
CallThisOtherMethod(param1);
}
}
现在我想强调这里示例的简单性,我知道可以制作一些更性感的东西,但让我们假装它比null 检查更复杂一点,这需要相同类型的if-return而是of if-else 技术。
那么,大家的想法是什么?
我一直强烈反对在方法无效或我实际上不想返回任何东西时返回一些东西。如果我最终陷入这种情况,我想重新考虑我的架构,因为它不应该发生。
我是完全错误/正确还是这里有一些讨论空间?
【问题讨论】:
-
如果
CallThisMethod();是一些代码,而CallThisOtherMethod将是很多代码,这是有意义的 -
主要基于意见投票结束。
-
@Grundy 如果超过 1 或 2 行,无论如何它都会隐藏在一个方法中,所以大多数时候它与我的示例非常相似(名称除外)。
-
@zenith 你是对的,也许我应该把它放在programmers.stackexchange中
-
@Zil,并非在所有情况下都可以将一些代码行移至方法
标签: if-statement coding-style return