4

在 PHP 中,我知道单语句条件不需要大括号。但是这个问题是关于良好的编码风格。(当然,在谈论风格时,通常最好只使用项目中一致的风格,但对于这个问题,我们忽略它。)

所以:将任何条件语句括在大括号中是更好的形式,还是在简单条件下不使用括号更好(例如更干净):

例如这个:

if (!file_exists($templatefile)) {
   throw new Exception('Template file does not exist');
}

或这个:

if (!file_exists($templatefile))
    throw new Exception('Template file does not exist');

对此是否有任何共同一致的良好做法,还是仅取决于个人喜好?

4

3 回答 3

10

我已经看到不使用大括号的人犯了太多错误,然后,后来添加了一个额外的命令而忘记了包装它。

我的态度是包装它以提高可读性和未来的可扩展性。

于 2013-05-07T08:34:20.927 回答
2

良好编码风格的一条规则是:避免分心。所以有一个通用的方法来做到这一点——不管单行或多行是要走的路:

if (!file_exists($templatefile)) {
   throw new Exception('Template file does not exist');
}

当然,这主观的(但这是您的问题的一个问题),并非所有程序员都为此分心。但事实上,你的版本控制系统会。如果您需要将单行 if 块更改为多行 if 块,您需要触摸 if 条件吗?地狱不,因为它没有改变,对吧?但是如果你不使用括号,你仍然需要触摸那条线。这也是我所说的分心。所以这是不太主观的论点。

正如您所想象的,您可以使用其他参数来促进这种方法,例如当您需要调试代码并且需要从一个切换到多行以进行各种更改等时。pp。所以保持它在您的整个代码库中保持一致,如果是 if 块,它就是 if 块。

为了好玩,总是抛出“if”块:

if (!file_exists($templatefile)); {
   throw new Exception('Template file does not exist');
}
于 2013-05-07T08:55:56.907 回答
0

这取决于开发人员到开发人员,这完全取决于您。只需遵循代码中的任何一种方法,不要混淆它,这会在未来产生问题

于 2013-05-07T08:51:46.363 回答