我看到大多数代码库在所有情况下都使用括号内的if语句,包括在if之后只需要执行一个语句的情况。
始终使用括号内的if语句或者它是否随着时间的推移成为标准,是否有任何明显的好处?
对此有何普遍共识,允许单行ifs通过我们的短片是否是一个大错误?
答案 0 :(得分:1)
很大程度上,这取决于开发人员的偏好,尽管在每个控制块上使用花括号都有很多原因。
首先,它使控制块更具可读性。考虑:
if (some_condition)
runSomeFunction();
runSomeOtherFunction();
由于大多数大括号语言都没有遵循缩进,这可行,但它确实降低了可读性(在控制块中只会发生runSomeFunction()
)。比较:
if (some_condition) {
runSomeFunction();
}
runSomeOtherFunction();
其次,当你需要向控制块添加一些东西时(几乎总是会发生这种情况),添加卷曲可能会让人感到沮丧或容易被遗忘,导致上述问题。
尽管如此,这些很大程度上归结为偏好,你总能找到异常(比如if (some_condition) runSomeFunction();
,它比上面的第一个例子更具可读性,同时仍然以更加简洁的格式实现相同的目标,保留了可读性)
答案 1 :(得分:0)
如果你必须回到代码中添加一些东西,你可能会忘记你没有打开括号,如果超过一行,你的代码将无法工作。
除此之外,它是一个偏好和格式的问题。