应该遵循哪种编码规范来编写PHP代码?

29

我应该采用 Sun 公司的 Java 代码规范来编写 PHP 代码吗?

9个回答

50

您应该遵循Framework Interop Group批准的PHP PSR标准之一。

  • PSR-0 - 旨在提供标准的文件、类和命名空间约定。
  • PSR-1 - 旨在确保共享 PHP 代码之间具有高度的技术互操作性。
  • PSR-2 - 为希望对其代码进行标准化的项目提供编码样式指南。
  • PSR-3 - 描述了记录库的通用接口;LoggerInterface 提供了八种方法来将日志写入八个 RFC 5424 级别。
  • PSR-4 - 描述了从文件路径自动加载类的规范。它是完全可互操作的,并且可以与任何其他自动加载规范一起使用,包括 PSR-0。

41

7
更重要的是,Zend是编写PHP引擎的公司...这就是为什么PHP5使用Zend Engine 2的原因。 - Powerlord
9
他们编写了Zend引擎,这与遵循他们框架的编码规范有什么关系? - Franz

23

更新:现在人们也经常使用PSR


Zend框架和PEAR标准是最常见的编码约定。如果您的公司采用了另一种标准,请坚持公司的约定。这比没有任何约定要好。但前提是只有每个人都遵守约定才能发挥作用。

同时,请参阅以下链接:

基本上,所有主要的框架都在其文档中有编码约定。官方(但在我看来大多数人不知道的)PHP编码指南可以在以下链接找到:

如果您需要验证代码是否符合编码约定,请考虑使用CodeSniffer。一些IDE也提供通过模板自动格式化源代码的功能。例如,Zend Studio具有内置的ZF编码指南,因此仅需单击即可将代码格式化为该约定。


7

2
正如Gordon所说,Zend和PEAR标准是有效的行业标准。
然而,公司的代码很可能早于这些标准,因此根据代码库的大小,投资时间进行迁移可能没有太大价值。(话虽如此,如果他们想要使用静态代码分析工具,您可能可以将此作为切实考虑迁移到Zend等平台的动力。)
然而,现实情况是,只要他们有一个合理的标准,并坚持遵守,这里就没有真正的问题——您会相应地调整您对代码的“看法”。

2

任何编码风格都有其优缺点。我经常花费大量时间进行不同来源的代码集成工作,因此有时一天内会看到许多不同的风格(例如不同的命名约定、括号位置、制表符和空格等)。

就我而言,如果您正在编辑现有代码,则最重要的是遵循该代码的风格,否则将使后续的任何人更加困难。

如果您正在编写新代码,则应自由选择最高效的方式进行。

我发现公司的编码指南通常过于详细,并且在几年后和软件团队的变动后被遗忘了。


2
如果您从事商业活动,请遵循业务代码约定。
如果是个人项目,可以获取具体的语言规范(如果您使用Java,则使用Java,如果您使用Php,则使用PHP)。如果这是您的个人项目,您可以根据自己的需求进行一些更改...
如果您进行开源项目,则应该查看已经存在的内容。

1

编码风格因团队而异,没有一种适合所有人的风格。最重要的是要有一个一致遵循的标准,不要过度。太多规则和太少规则一样糟糕。

我曾经更喜欢K&R风格(第二种)。在适应Allman风格(您的偏好)之后,我现在感觉它使代码更易读,并改变了我的偏好。

这个维基百科文章是一个不错的起点。它还包括PEAR编码标准等链接。


1

有许多不同的编码规范存在。看看其他人使用的方式(阅读一些示例代码并查看理解正在执行的操作有多容易),然后选择自己喜欢的。

重要的是选择一个并坚持使用它。


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