代码之家  ›  专栏  ›  技术社区  ›  Peter Turner

我的变量命名约定有名称吗?

  •  9
  • Peter Turner  · 技术社区  · 15 年前

    所以我使用这个delphi命名方案,参数以a开头,类变量以f开头,局部变量以m开头。这个方案有名字吗?我在Delphi的源代码中看到了很多,我想多读一些关于它的信息,但我不知道它叫什么。

    5 回复  |  直到 15 年前
        1
  •  18
  •   David Mohaimin Moin    15 年前

    这种编码风格在 Object Pascal Style Guide 作为 匈牙利符号(有一个例外, enumerated types )

    据我所知,您所谈论的特定编码约定没有这样的名称,只是您编写的代码符合codegear(old borland)编码风格指南。指南似乎没有给这个款式起名字。

    您在Delphi源代码中看到它的原因是因为本指南基于Delphi团队开发的编码风格!

    这篇文档非常值得一读——不仅是为了代码指导,还因为它提到的其他事情而失去了兴趣。

        2
  •  10
  •   Stephan202 Alex Martelli    15 年前

    您的模式可以被认为是 Hungarian notations (HN)。通常用hn表示 type 但正如维基百科所指出的,

    符号有时在 C++包含 scope A的 变量,由下划线分隔。 这个扩展通常也被使用 没有匈牙利语 型号规格:【….】

        3
  •  10
  •   Mircea Grelus    15 年前

    我想说你的命名约定与匈牙利符号不太匹配,但它与查尔斯·西蒙尼发明的匈牙利符号更接近,后者后来被称为 Apps Hungarian . 但不完全是这样。

    实际上有两种匈牙利符号:

    • 应用程序匈牙利语 -其思想是根据存储内容的语义信息来修饰标识符名称,因此基本上变量的 目的 :
        rwElement - variable represents a row ("rw")
        colElement - variable represents a columns ("col")
    
    • 系统匈牙利语 -前缀对实际 数据类型 变量的。
        szName - variable is a zero-terminated string ("sz")
        lAccount - variable is a long integer ("l")
    

    所以,虽然命名约定在某种程度上代表了某种目的,但它并不是匈牙利语应用程序所指的目的。

        4
  •  7
  •   Yishai    15 年前

    一般来说,这听起来像匈牙利符号——但这并没有指定a、f或m约定,特别是,只是在名称中预先输入类型信息。

        5
  •  7
  •   Rob Kennedy    15 年前

    您的是一般的命名约定类,称为 匈牙利符号 (在比通常意义更广泛的意义上,名称有一个描述变量的前缀),但不,您的约定没有任何更具体的名称。

    我以前从未见过你特别选择的前缀。我所看到的最接近的是我所认为的 Indy公约 ,它使用 为了论证, f 对于字段, G 对于全局, L 对当地人来说,当然是平常 对于接口和 T 记录和课程。属性和子例程没有前缀。