【问题标题】:Naming convention命名约定
【发布时间】:2012-07-30 15:39:16
【问题描述】:

关于多对一/一对多关系的文件类和属性是否有命名约定。这听起来像是一个关于命名概念的经典问题,但事实并非如此,这是一个应用于关系的问题,例如在 Doctrine 中。

这可能很愚蠢,但名字很重要,不是吗?

在这种情况下,我有一个实体 GolferProfile,一个实体 Category,因此想要一个中间 GolferProfile-Category实体。

我应该为中间实体使用什么类名?

GolferProfileCategory OR GolferProfile_Category OR GolferProfile-Category  OR anything else?

与属性相同...我见过人们使用每个类的第一个字母,在这种情况下是$gc。这很难阅读,但另一方面,我们不想使用像 $golferprofile_category 这样的长名称?

对此的任何想法都将帮助我了解如何使用名称..干杯

【问题讨论】:

    标签: php orm doctrine doctrine-orm


    【解决方案1】:

    没有经验法则,但我建议在为所有内容命名约定时坚持单一做法:您似乎已经在使用camelCase,那么为什么不将它用于其他所有内容呢?

    GolferProfile
    Category
    GolferProfileCategory
    
    $golferProfile
    $category
    $golferProfileCategory
    

    【讨论】:

    • "没有经验法则" 不,但是有 CS 指南。它看起来就像那样:)
    【解决方案2】:

    考虑到 PHP 是一种类 C 语言,我会遵循它的教义。

    参考:http://www.psgd.org/paul/docs/cstyle/cstyle04.htm

    【讨论】:

    • 你为什么不遵循 PHP 风格指南?
    • @Matt Ball :就是这样,如果我根据this 使用 GolferProfile_Category,那将与我打算做的不同..您对类名和属性的建议是什么?非常感谢
    • 这看起来很陈旧。我现在绝对不会命名变量 wllength。
    【解决方案3】:
    class GolferProfile-Category {}
    

    产生a syntax error

    GolferProfile_Category {}
    

    下划线将替换为目录分隔符in PSR-0

    GolferProfileCategory {} // is the winner.
    

    与属性相同...我见过人们使用每个类的第一个字母,在这种情况下是 $gc。这很难阅读,但另一方面,我们不想使用像 $golferprofile_category 这样的长名称?

    $gc 是一个可怕的名字。没有人会知道这意味着什么。如果您指的是作为类实例的变量,我总是选择 camelCase。

    $golferProfileCategory
    

    根据我的经验,大多数人(至少在 PHP 中)都是这样做的。

    【讨论】:

    • 非常感谢@PeeHaa +1 的 PSR-0。根本不知道:-)
    猜你喜欢
    • 2023-03-03
    • 2011-02-22
    • 2011-02-07
    • 2012-02-08
    • 2011-09-01
    • 2011-02-04
    • 2013-10-16
    • 2013-12-31
    • 1970-01-01
    相关资源
    最近更新 更多