【问题标题】:MyClassBase or BaseMyClass? [duplicate]MyClassBase 还是 BaseMyClass? [复制]
【发布时间】:2011-02-20 18:48:33
【问题描述】:

可能的重复:
Using “Base” in a Class Name
C# Class naming convention: Is it BaseClass or ClassBase or AbstractClass
Naming Conventions for Abstract Classes

命名基本抽象类的更好方法是什么?我仍然无法决定在哪里放置“Base”这个词。应该是“BaseMyClass”还是“MyClassBase”?

你如何命名它们以及为什么?

【问题讨论】:

标签: naming-conventions class-design abstract-class


【解决方案1】:

想象一下,如果你有一个抽象类链,你会叫它 MyClassBaseBaseBase 吗?

如果可以,请避免在您的名字中使用“Base”。您有一个抽象基类,因为它比您的具体实现更通用。然后以更通用的方式命名它,描述它为派生类提供的共同点。

如果由于某种原因无法完成上述操作,我同意之前的海报;使用 MyClassBase。

【讨论】:

  • 当然可以,BaseBaseBaseFactoryFactoryFactories 风靡一时。
【解决方案2】:

主观的......但没关系。这是我对事物的看法:BaseMyClass 听起来像是一个命令:“为我的班级奠定基础!现在!” :) 而MyClassBase 更清晰...一个作为 Base 的类

【讨论】:

【解决方案3】:

MyClassBase 是要走的路。

这是主观的,但称其为 MyClassBase 会在设计中带来可读性和对称性。

【讨论】:

  • My 怎么样? ClassBase 对正在建模的对象有何影响?
  • 我认为他永远不需要像这样命名的课程。相反,他想知道如何给类命名(至少我希望如此:)
  • 只使用“我的”对于 imho 类来说意义太小了。
  • 实际上......“MyClass”在这里是一种“Foobar”词。 :) 我从不这样命名课程。
【解决方案4】:

我根本不会使用“Base”、“My”或“Class”这些词,而是为实际描述它的接口选择了一个名称。

【讨论】:

    【解决方案5】:

    不确定这是否正确,但是当我命名我的基类时,我希望仅通过查看类名就应该明白这是要被继承的。就像我有两个版本的 webpart(GoogleSearch) 一个用于移动设备,另一个用于普通浏览器,然后我将创建一个名为 GoogleSearchWebpartBase 的抽象库,并将 webparts 命名为 MobileGoogleSearch 和 GoogleSearch。

    【讨论】:

      【解决方案6】:

      MyClassBaseBaseMyClass 之间进行选择就像在问我是更喜欢踢坚果还是打脸。

      我不想冒犯,但这两个名字都很糟糕。具体来说,没有理由在类名中包含Class(除非您正在建模一个教育系统)。如果你真的需要使用类名来表示它不能被实例化,我宁愿使用Abstract这个词,而不是Base

      作为一般规则,请查看标准库的命名方式并遵循该约定。如果您的标准库具有像 MyClassBaseBaseMyClass 这样的名称,那么命名是您最不关心的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-03
        • 2012-01-22
        • 2011-08-23
        • 2012-02-24
        相关资源
        最近更新 更多