【问题标题】:Naming - Should I avoid giving Objects the same name as their Classes?命名 - 我应该避免给对象使用与其类相同的名称吗?
【发布时间】:2013-10-18 15:09:08
【问题描述】:

将一个名为 PDFWriter 的类实例化为一个也名为 PDFWriter 的对象是常见的做法,还是应该避免这种做法?在任何情况下都会出现问题,如果是,是否有标准的命名约定来区分类和对象?

编辑:在 VB.net 中怎么样,IDE 不允许区分大小写?

【问题讨论】:

    标签: class object naming-conventions


    【解决方案1】:

    早在 Apple Mac 编程之初,就曾风靡一时地命名如下:

    PDFWriter aPdfWriter;
    

    PDFWriter thePdfWriter;
    

    这对于喜欢变量大写的语言来说更好:

    PDFWriter ThePdfWriter;
    

    如今,时尚已不那么流行了。

    有时您并不关心,因为作者的类型无关紧要,因此您只需使用:

    PDFWriter writer;
    

    PDFWriter Writer;
    

    【讨论】:

    • +1 让我想起了过去的美好时光,当时使用电脑的感觉就像地球上没有其他东西一样。 :)
    【解决方案2】:

    对象和类的命名约定没有标准,但使用以下对象的名称被认为是一种好习惯:-

    1) 表明其使用意图。

    2) 结构统一。

    来自here:-

    名称至关重要,因为它们在 非面向对象的语言,但也因为面向对象的拟人化性质 编程。

    在 OO 语言中,用类名来命名事物是很常见的 以及定冠词或不定冠词(Control, aController; View, 风景)。当更合适的东西不能时,这些名字很好 找到(名单,员工)。

    【讨论】:

      【解决方案3】:

      只要您使用区分大小写的语言,其中类型名称和变量名称使用不同的大小写做法,我认为这不是问题。

      例如,应该有一个名为pdfWriterpdf_writer 的变量,其类型为PDFWriter

      【讨论】:

      • 在 VB.net 中,IDE 不允许区分大小写怎么办? VB中类和对象的不同命名是否合理?
      • 对不起,刚刚意识到VB确实允许你区分类和变量的大小写。例如。 Dim pdfWriter As PDFWriter 在 VB 中完全有效。这是一个很好的接触,因为这是其他语言的常见做法。
      猜你喜欢
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多