![]() |
1
18
那是个可怕的主意。您将得到以下表单的代码:
|
![]() |
2
8
不,你当然不会 有 至少在大多数语言中(你没有具体说明;很可能有一种语言 这是一个我当然不会的例子:
现在你 能够 在这里把方法的主要工作放在一个“else”子句中,但这会增加不必要的嵌套。再加上几个条件,整个事情就变成了一团看不懂的烂摊子。 根据我的经验,这种“提前出局”的模式相当普遍——既适用于返回值,也适用于例外情况。我知道有些人喜欢方法的单一返回点,但在我使用的语言(Java、C#)中,这往往会导致代码可读性大大降低和嵌套加深。 现在,有一种情况,争论的余地更大,那就是两个分支都是终端,但它们实际上都不是捷径:
(请注意,我故意给这两个分支更多的工作要做,而不仅仅是返回-否则一个条件语句将是合适的。) 如果没有“else”这个词会更容易理解吗?这其实是个人选择的问题,我不会说我总是始终如一。使两个分支都相等地缩进会以某种方式赋予它们相等的权重,并且可能会鼓励以后通过反转条件进行重构的可能性。。。然而,如果我们刚刚通过了“返回原价”,那么 进入之内 if块和移动折扣案例 如果一个if块的第一眼看上去不那么明显正确。 |
![]() |
3
5
|
![]() |
4
4
|
![]() |
5
1
纯粹从语义的角度来看,我想不出一个案例 如果没有一个隐含的else。 如果汽车在我到达墙前不停下来,我就撞车,否则我就不会撞车。 撇开语义不谈: 这个问题的答案取决于环境,以及错误的结果是什么。
然而:安全、安全还是生命关键代码?那是另一回事。
在这种情况下,你要做两件事。
哎呀。我忘了把所有的安全都设成假的。
我为医疗设备编码已经25年了。在本例中,您需要else,您需要本例中的默认值,并且它们从不为空。你想知道到底会发生什么,或者尽可能接近。因为忽视一个条件可能会杀人。 查一下Therac-25。8人重伤。3人死亡。 |
![]() |
6
1
事实上,大多数开发商更喜欢和建议避免
就是这样
|
![]() |
7
0
这纯粹是风格和清晰度的问题。很容易想象,如果语句,特别是简单的语句,对于它们来说,else是非常多余的。但是,当你有一个更复杂的条件,也许处理了许多不同的情况,它往往可以明确宣布,否则,什么都不应该做。在这种情况下,我会留下
|
![]() |
8
0
我会写信的
|
![]() |
9
0
我知道我迟到了,但我做了很多思考,并想分享我的结果。 在关键代码中,必须考虑每个分支。写一个else是没有必要的,但是留下一个else是没有必要的标记以及为什么。这将有助于评论者。观察:
|
![]() |
10
-1
有时没有其他部分…包含一个空的部分只会使代码的可读性降低。 |
![]() |
11
-1
不,你不必。。 另外,我不认为这是一个好主意的可读性,因为你会有很多空的 阻碍。这可不好看。 |
![]() |
Sudhanva c · 如何提高编码技能?[已关闭] 7 年前 |
![]() |
hoffm · 为什么Ruby找不到调用方类中定义的常量? 7 年前 |
![]() |
Thamme Gowda · “lambda”关键字的较短替代项? 7 年前 |
![]() |
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 9 年前 |
|
lucasasecas · 有可能静态地使用动态语言吗? 10 年前 |
|
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 10 年前 |
![]() |
dallin · 数组中的逗号运算符是否有名称? 11 年前 |