我之前写过一份代码规范文件,其中规定“必须始终使用大括号来控制循环和条件代码块,即使(尤其是)只有一行代码。”
例如:
// this is wrong
if (foo)
//bar
else
//baz
while (stuff)
//things
// This is right.
if (foo) {
// bar
} else {
// baz
}
while (things) {
// stuff
}
如果你不在单行代码中使用大括号,然后有人将其注释掉,那么你就会遇到麻烦。如果你没有使用大括号来包围单行代码,并且缩进在其他人的机器上显示不同... 那么你就会遇到麻烦。
所以问题是:这个标准存在错误或者不合理的原因吗?目前已经有一些讨论,但是没有人能够提供比“看起来不好看”更好的反驳意见。