【问题标题】:What should I call a class or variable which holds a collection?我应该怎样称呼包含集合的类或变量?
【发布时间】:2012-10-26 09:33:15
【问题描述】:

假设我有一个 SuperPower 类,并且我想将我的超能力放在一个集合中而不暴露其实现。

我尽量避免将集合作为实例属性。相反,我将它放在一个可以移动行为的类中,否则会分散在其他类中。

我不想称它为 SuperPowerList、SuperPowerMap 或类似名称,因为它公开了实现。

我也有点不喜欢 SuperPowers,因为它与它所包含的类太相似了。

“SuperPowers superPowers”类型的变量也是如此。

一定有更好的办法。

【问题讨论】:

  • 嗯,你可能是对的。不过,我希望能有更短的内容。

标签: naming naming-conventions


【解决方案1】:

SuperPowerCollection 听起来最好,正如我在整个框架中看到的那样。变量命名可以是您喜欢的任何东西,因为它并不重要。我更喜欢superPowers,它在集合类中更常见。要获得更多创意,请将问题发布到english stackexchange

只有在我不会被否决的情况下:

  1. PowerPod
  2. 超级部队
  3. 电网

是我能想到的一些花哨的名字:)

【讨论】:

    【解决方案2】:

    PowerPack 或 SuperPowerPack 怎么样?

    【讨论】:

    • 包装很好,比收藏好得多。 (也许来自动物王国的其他收藏同义词;议会、披肩或囤积。;-)
    • 我已经使用 Pack 快两个星期了,它真的很棒。谢谢!
    【解决方案3】:

    使用 SuperPowerCollection 或 SuperPowers。
    两者都很好。
    我想补充一点,我在代码中看到了一个实现
    从 List 更改为 Map,但变量的名称仍然是 objctsList -
    这太可怕了,所以你是正确的,一个好的做法是避免在变量名中提供实现细节,因为它们可能会及时改变。

    【讨论】:

    • 实际上,我们尝试使用复数 s。真的不行。不是因为代码问题,而是因为人为问题。谈论代码非常困难。说话时的差别太小; “这是 SuperPower 类实例的实例 SuperPowers 类”?
    • 然后使用 SuperPowerCollection。
    猜你喜欢
    • 2011-02-03
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多