【问题标题】:Using $CamelCase for object instances and $lower_case for everything else [closed]将 $CamelCase 用于对象实例,将 $lower_case 用于其他所有内容[关闭]
【发布时间】:2011-02-13 21:17:04
【问题描述】:

以下是命名变量的简单约定:

对对象实例使用 $CamelCase 和 "$lower_case" 用于其他所有内容。

你能想出不使用它的理由吗?

几个月前我提出了这个约定,从那时起我一直在几个小项目中使用它。我即将开始在一个大项目中使用它,所以我想确保我没有遗漏任何东西。

【问题讨论】:

  • 我想不出发布这个问题的理由。
  • “您已经达到每天 12 次关闭投票的最大值;请在 2 小时内回来” - 郑重声明,我觉得这对于这个网站来说太主观了。试试 Programmers.SE。
  • @manuelpedrera,我添加了一段试图解释发布问题的原因。
  • @tchrist,你说得很好,但我不确定你是否考虑到大多数对象实例名称由一个单词组成,很少超过两个单词。
  • @tchrist:其实我发现你的评论很容易阅读。

标签: php variables naming-conventions


【解决方案1】:

使用最适合您的任何命名约定,只要项目只能由您开发。

我们有标准的原因是,当开发人员在一个项目上合作时,已经习惯了语法和命名约定,我们称之为标准

作为您在 PHP 中的专门编码,我建议您使用众所周知的命名约定,例如 Zend 或 PEAR。

没有任何理由提出新的命名约定,除非您的所有程序员或编写代码的人员都选择这样做并且经过正确考虑。

一些约定:

我个人更喜欢 Zend 而不是 PEAR,但就标准而言,以上是最受欢迎的。

编辑:我使用的约定的一些示例。

  • 全局变量$MY_GLOBAL_VARIABLE
  • 通用变量$lowerUpper
  • 类名Upper_For_Each_Segment
  • 类变量$this->lowerUpper
  • 类变量私有/受保护$this->_lowerUpper
  • 常量ALL_UPPER_CASE

您可以稍微修改约定以满足您的要求,但最好坚持当时最流行的约定。

【讨论】:

  • 感谢分享您自己的约定!
【解决方案2】:

通常一个人遵循这个古老的规则三倍:

  • $ALL_CAPS 用于标称常量。
  • $Each_Word_Capped 用于全局变量。
  • 对局部变量使用$no_words_capped

请注意,在此方案中,您总是使用下划线分隔单词:下划线用作引导视线的空格字符。这比你意识到的更有价值。这是一个完全一致的规则,并且比大多数替代方案更具可读性。尝试删除此帖子中的空格以了解我的意思。

【讨论】:

  • 我应该补充一点,Go 编程语言将这一点付诸实践:大写的东西是公共的,小写是私有的。
猜你喜欢
  • 2017-12-14
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多