7
在控制流使其多余的情况下应使用“其他”吗?
有时我会偶然发现类似于以下示例的代码(此函数的确切作用超出了此问题的范围): function doSomething(value) { if (check1(value)) { return -1; } else if (check2(value)) { return value; } else { return false; } } 正如你所看到的,if,else if和else语句与配合使用return的语句。对于一个偶然的观察者来说,这似乎很直观,但是我认为(从软件开发人员的角度来看)删除else-s并简化这样的代码会更加优雅: function doSomething(value) { if (check1(value)) { return -1; } if (check2(value)) { return value; } return false; } 这是有道理的,因为return语句后的所有内容(在相同范围内)将永远不会执行,从而使上面的代码在语义上与第一个示例相同。 以上哪一项更符合良好的编码习惯?两种方法在代码可读性方面都有缺点吗? 编辑:重复的建议已被提出,该问题仅供参考。我认为我的问题涉及另一个主题,因为我并不是要避免像另一个问题中那样重复陈述。这两个问题都试图减少重复,尽管方式略有不同。