【问题标题】:Is there any reason not to group class properties?有什么理由不对类属性进行分组吗?
【发布时间】:2015-09-24 09:19:17
【问题描述】:

我使用 docblocks 来输入提示类属性,直到最近才意识到类属性可以这样分组:

    /**
     * @var string
     */
    private $firstname, $surname, $location;

这比这更容易阅读,更短:

    /**
     * @var string
     */
    private $firstname;

    /**
     * @var string
     */
    private $surname;

    /**
     * @var string
     */
    private $location;

有什么理由不这样做吗?

【问题讨论】:

  • 可能对于 cmets 使用什么变量。
  • 我真的很讨厌 99.9% 的变量 cmets。类型+名称应该足够了。如果不是,您可能命名错误。
  • 某些事情是品味和个人喜好的问题。如果您发现您的第一个示例适合您的用例,那么没有理由 使用它。有些人会喜欢第二种方法,有些人会喜欢第一种方法。这完全由您决定要使用什么。
  • 为什么票数接近?风格是否适合你是基于意见的,但我只是在检查我是否忽略了一些不同性质的东西。

标签: php coding-style


【解决方案1】:

我更喜欢第一种方法,因为 PSR-2 says“每个语句声明的属性不得超过一个。”。这是有充分理由的,以下是我猜 PSR-2 的作者也有的一些想法:

  • 人们不希望每行看到超过一个声明(至少我和我的同事);
  • 更改变量的类型更加困难,例如$location 从字符串到位置类。
  • 阅读差异更加困难:如果任何变量的名称发生更改,该行将被 VCS 标记为已更改,并且审阅者必须阅读整行。这样的线路变化概率较高;
  • 评论组中的单个变量并不容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 2011-03-19
    • 1970-01-01
    • 2010-09-20
    • 2019-05-30
    • 1970-01-01
    相关资源
    最近更新 更多