29

我应该坚持 Sun 的 PHP 代码 Java 代码约定吗?

4

9 回答 9

50

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

  • PSR-0 - 旨在提供标准文件、类和命名空间约定。
  • PSR-1 - 旨在确保共享 PHP 代码之间的高水平技术互操作性。
  • PSR-2 - 为希望标准化其代码的项目提供编码风格指南。
  • PSR-3 - 描述日志库的通用接口;公开了LoggerInterface八种将日志写入八个 RFC 5424 级别的方法。
  • PSR-4 - Describes a specification for autoloading classes from file paths. It is fully interoperable, and can be used in addition to any other autoloading specification, including PSR-0.
于 2012-09-09T04:58:49.737 回答
41

对于 PHP,我建议遵循Zends 的建议

您可能知道,Zend 是使用最广泛的框架!

于 2008-09-26T13:18:31.777 回答
23

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


Zend Framework 和 PEAR 标准几乎是最常见的编码约定。如果您的公司采用了另一种,请遵守您公司的惯例。总比没有约定好。只有每个人都遵守它们,它们才会起作用。

另见:

基本上,所有主要框架的文档中都有一个编码约定。官方(但大多数不为人知的 IMO)PHP 编码指南可在以下位置找到

如果您需要根据编码约定验证代码,请考虑使用CodeSniffer。一些 IDE 还通过模板提供自动源代码格式化。例如,Zend Studio 内置了 ZF 编码指南,因此只需单击一下即可将代码格式化为该约定。

于 2010-07-28T06:59:03.737 回答
7

您有多种选择:

Zend: http: //framework.zend.com/manual/en/coding-standard.html

梨: http: //pear.php.net/manual/en/standards.php

WordPress:http ://codex.wordpress.org/WordPress_Coding_Standards

但就像 prakash 建议的那样,Zend 是一个不错的选择。

于 2008-09-26T14:07:26.667 回答
2

如果您从事业务,请遵循业务代码约定。

如果是针对个人项目,您可以获得特定的语言规范(如果您使用 Java 而不是 Java,如果您使用 Php 而不是 PHP)。如果这是你的个人项目,如果你愿意,你可以改变一些事情......

如果你做开源项目,你应该去看看已经存在的东西。

于 2008-09-26T13:24:15.880 回答
2

正如 Gordon 所说,Zend和 PEAR 标准是有效的行业标准。

但是,公司的代码很可能早于这些代码,因此根据代码库的大小,投入时间来迁移到其中一个可能没有什么价值。(也就是说,如果他们想使用静态代码分析工具,您可能会以此为动力认真考虑迁移到 Zend 等。)

然而,现实一点,只要他们有一个他们坚持的合理标准,这里就没有真正的问题 - 你会发现自己相应地调整你“查看”代码的方式。

于 2010-07-28T07:07:39.203 回答
2

任何编码风格都有优点和缺点。我花了很多时间处理来自许多来源的代码进行集成,所以有时最终会在一天内看到许多不同的样式(不同的命名约定、大括号放置、制表符与空格等)

就我而言 - 如果您使用现有代码,最重要的是遵循您正在编辑的代码的样式。如果你不这样做,你会让追随你的人变得更难。

如果您正在编写新代码,那么您应该可以自由地以最高效的方式进行编写。

我发现公司的编码指南通常很详细,并且在几年后最终被遗忘并且软件团队中的一些流失;-)

于 2010-07-28T07:11:03.683 回答
1

那里有许多不同的编码约定。看看其他人使用什么(阅读一些示例代码,看看理解正在做什么是多么容易),然后选择。

重要的是选择一个并坚持下去。

于 2008-09-26T13:29:50.283 回答
1

编码风格因组而异,并不是一种适合所有类型的东西。最重要的是有一个始终如一的标准,而且不会过火。太多的规则可能和不够一样糟糕。

我以前更喜欢 K&R 风格(第二种)。在不得不适应 Allman 风格(您的偏好)之后,我现在觉得它使代码更具可读性并改变了我的偏好。

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

于 2010-07-28T07:08:05.580 回答