【发布时间】:2012-01-18 04:40:48
【问题描述】:
当我开始开发时,我遵循的教程总是使用{}(大括号)来包围块。然而,当我开始查看其他人的代码(例如 GitHub 上的类,或者只是比基本教程显示的更多代码)时,我也看到了没有包含在 {} 中的块语句,例如;
if($var < 15)
$string = 'Hello, Jimmy!';
elseif($var >= 15)
$string = 'Hello, Anne!';
是一样的
if($var < 15) {
$string = 'Hello, Jimmy!';
} elseif($var >= 15) {
$string = 'Hello, Anne!';
}
我从未使用过未包含在 {} 中的块,但是我今天使用了它们并且我开始看到这样做的效率(它看起来也更干净,因为我经常会发现我的函数千疮百孔来自循环、条件等的{}。
我要问的是;
a) 没有花括号 (; 我注意到我的 IDE 在输入一行后从缩进中退回并在if() 条件后返回?
b) 在不使用{} 时,是否有任何最佳实践?
任何答案,特别是那些公司。关于块的大括号使用约定与不使用它们的背景/文档将不胜感激,因为我真的很想了解大括号的用法:)!
【问题讨论】:
-
这是一个偏好问题。我真的不喜欢省略它们,其他人喜欢。如果你保持一致,你可能没问题。
-
有了 SSL 中的这个相当大的错误,我想说这个问题非常相关。请注意,ALWAYS 使用花括号可以确保不会发生此问题。 imperialviolet.org/2014/02/22/applebug.html