PHP正确的缩进方式是什么?

12

我是一名初学者PHP编码者,最近有人告诉我我的代码缩进不正确。 他们说这样是错误的:

    if($something) {
        do_something();
        }
    else {
        something_more();
        and_more();
        }

这样是正确的吗?

    if($something) {
        do_something();
    } else {
        something_more();
        and_more();
    }

真的吗?我希望尽快成为一名开源程序员,这就是我问如何编写良好代码的原因。


2
第二个更易读,因为它真正显示了嵌套的代码块。而且没有像被接受的答案那样浪费空间。只需尝试滚动几个屏幕,你就会回到紧凑模式 :) - Your Common Sense
是的,你说得对,我看第二种方式被多次指定为默认值。虽然我不太喜欢它,也许我应该切换到它。我想我应该重新表达我的问题,以便询问“哪种 PHP 缩进风格更易读”,看看公众认为哪个更好:D - user321311
5个回答

9

两种方式都可以正常运行。哪种对你和你的团队更舒适,就采用哪种方式。我个人更喜欢第二个示例,或者类似这样的方式:

if ($something)
{
  do_something();
}
else
{
  do_something_else();
  pet_the_ponies();
}

对于这个问题其实并没有一个真正的“正确”答案。


1
有这样一个理论性的东西叫做风格指南,一些项目可能会使用它,也可能不会。如果存在风格指南,则应遵循它,但在没有关于风格的指导时,“就像Sampson所说的那样,这并没有真正的正确答案”。 - JimLohse
我用大括号 { 跟在语句后面编程多年,直到有一天我发现你可以把大括号放到下一行。当我开始为大括号单独使用一行时,所有的代码都变得更容易阅读了。而且像 VSCode 这样的编辑器会突出显示开放和关闭的大括号,你可以轻松地看到代码块的起始和结束位置。此外,我喜欢在函数调用之间留一个空行。代码越易读,你就会犯的错误就越少。还有:不要忘记注释你的代码(为你自己和他人)! - Avatar

4
在许多情况下,编码标准会说:“匹配正在编辑的文件的样式”,即如果文件已经有了给定的括号和空格样式,则不要更改约定。
我会查看一些流行项目的编码标准,以了解一些补丁管理员的期望:
- MediaWiki编码规范 - WordPress编码标准
等等。

2
有许多编码标准。@Adam 给了您两个链接,我给您另一个链接:Zend PHP Coding Standard 您可以选择任何一个,但我认为您应该选择最流行的标准。
您甚至可以使用Java 代码约定,这并不重要。

1

CodeIgniter的用户指南提供了一些关于如何编写代码的好建议:http://codeigniter.com/user_guide/general/styleguide.html

其中有些非常好,但有些你需要混合使用才能得到自己的风格。但正如我之前所说,你应该坚持一个风格,如果你要跳入另一个项目,你应该遵循已经设定的风格。在如何编写代码方面没有对错之分,主要是为了在几个月后回到代码时不会迷失。


1

我建议您遵循PEAR编码标准。不是因为它们是最好的,或者因为我喜欢它们,而是因为它们是流行的PHP框架(Symfony2、Zend Framework等)中最常见的标准(大部分都遵循它们,小细节并不重要)。

毕竟,这就是编码标准的全部目的。成为每个人都遵循的标准,无论他们是否喜欢它。

当然,如果您正在现有项目中编码,请不要盲目遵循它,尝试遵循您正在编辑的文件中使用的任何编码风格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接