【问题标题】:correct name for a variable users_ids vs user_ids变量 users_ids 与 user_ids 的正确名称
【发布时间】:2011-08-25 22:52:09
【问题描述】:

我问你,以英语为母语的你:

包含多个用户 id 的变量的正确名称是什么(从语法的角度来看):

A) users_ids vs B) user_ids

我很确定 C) users_id 是错误的。

变量是一个id数组:

数组(12, 43, 12, 53)

为什么?

【问题讨论】:

  • $user_ids 一点也不差。不涉及太多复杂的语法,一组用户 ID。出于句法原因,不包括撇号。
  • 这些 id 属于单个用户还是多个用户?当我看到一个标题时,我决定它是关于多个用户的。这可能也是其他人所理解的。但并未明确提及。你能澄清一下吗?
  • @VictorYarema 多个用户。

标签: php variables coding-style naming-conventions


【解决方案1】:

$user_ids 因为它指的是一个 id 列表(复数),每个都属于一个用户(单数)。在遍历 id 时,我经常使用如下内容:

$user_ids = array(12, 43, 12, 53);

foreach($user_ids as $user_id) {
// at this point $user_id refers to one id for one user
}

此外,$user_ids 是最常用的形式(我见过)。

【讨论】:

  • 如果表包含id_page怎么办?它的复数应该是 ids_page、id_pages 还是 ids_pages?
【解决方案2】:

$user_ids 是最常见的。我的理由是:

  • 你有多个 ids 所以 users_id 不正确
  • users_ids 听起来很尴尬
  • PHP 变量一般不使用 camelCase

【讨论】:

    【解决方案3】:

    user_ids - 你的 user_id 不是一个,而是几个。

    users_id - 许多用户具有相同的 ID(如果发生这种情况,您就有麻烦了......)。

    【讨论】:

      【解决方案4】:

      从语法上讲,userIdsuser_ids 是说英语的人最熟悉的。

      但是,如果它引用表 id 上的列 id,您会经常看到类似 usersId 的内容,尤其是当它与外键关系相关时。

      考虑:

      orders.id

      orders.users_id users.id

      因为它与一组用户 ID 相关,而这些用户 ID 并没有真正“转换”为数据存储中的特定对象关系,$userIds。 (或者$user_ids,如果你坚持的话;)

      【讨论】:

        【解决方案5】:

        我认为$users_ids,因为您的变量包含多个用户的多个标识符。如果变量包含单个用户的多个标识符,则必须使用$user_ids

        【讨论】:

          【解决方案6】:

          这有关系吗?只要变量名向读者传达了它的数据代表什么,这才是真正重要的......

          嗯,变量名符合您的编码标准(如果适用)。

          (顺便说一句,我很可能将其命名为$userIds

          【讨论】:

          • “向读者传达其数据代表什么”读者可以是任何人,所以为什么不让它完美。 “您的编码标准”正在进行中。
          • 正如您已经在此处看到的,存在不同的意见(使用/不使用下划线等)。 “完美”(在某种程度上)是主观的,因此不值得为之奋斗。如果您真的担心其他人的做法,不妨看看pear.php.net/manual/en/standards.php(尽管他们显然也没有列出内部变量命名约定)
          【解决方案7】:

          假设我们有学生和老师。我想保留特定学生看过的老师的数据库

          在这种情况下,student.seen_teachers_ids 或 student.teachers_ids 更有意义

          for(教师 ID 中的教师 ID)

          【讨论】:

            猜你喜欢
            • 2014-05-30
            • 1970-01-01
            • 2020-05-01
            • 1970-01-01
            • 2020-09-26
            • 2018-07-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多