在测试indexOf的返回值时,您通常会写什么?
if str.indexOf("a") < 0
Run Code Online (Sandbox Code Playgroud)
VS
if str.indexOf("a") == -1
Run Code Online (Sandbox Code Playgroud)
一种方法比另一种方法更受欢迎吗?
我实际上是为任何语言中的任何函数提出这个问题,错误时返回-1.
我通常更喜欢<0方法,因为如果函数扩展为在某些其他情况下返回-2,代码仍然可以工作.
但是,我注意到== -1方法更常用.有原因吗?
我尝试实施“错误条件”测试应尽可能广泛的一般原则。因此我会使用< 0而不是== -1.
这是我在计算机科学学位期间以正式方法在课堂上学到的原则。
简单来说if,这并不重要,但在循环中,重要的是检测任何“超出范围”的条件以确保循环终止,并且不要假设将准确命中循环终止值。
以此为例:
i = 0;
while (i < 10) {
++i;
// something else increments i
}
Run Code Online (Sandbox Code Playgroud)
与
i = 0;
while (i != 10) {
++i;
// something else increments i
}
Run Code Online (Sandbox Code Playgroud)
后一种情况可能会失败 - 前一种情况不会。
| 归档时间: |
|
| 查看次数: |
731 次 |
| 最近记录: |