ObjectPascal标识符在其他语言上的命名风格
我学会了用delphi编程,而且我总是喜欢对象的pascal代码风格,看起来非常直观和干净。ObjectPascal标识符在其他语言上的命名风格
当你看的变量声明,你就知道什么是你处理..
快速摘要:
异常Ë EMyError
等级和类型牛逼 TMyClass
类中的字段f fVisible
事件在 onmousedown事件
指针类型P PMyRecord
物业获取东西设置 SetSomething
这太不好用在C++ C#Java的这个标识符命名风格,或任何其他语言的代码?
除了口味和文化问题(如已被梅森指出)
有可能是原因,按照惯例依赖于一定的语言,其他语言也可能对他们的原因。
我只能赶紧想虽然几个例子:
在不需要指针类型语言来使用(像大多数非Borland的帕斯卡,C等),在“P”之前定义通常很少需要。
其他语言也可能有额外的消除歧义的方法(就像在C中常常类型是大写的,而变量或字段是小写的标识符),并且不需要“T”。 (严格来说,德尔福既不至少也不是字段,因为标识符在某种程度上依赖于上下文查找(就像字段和类型的分离名称空间一样),但是约定比那个特性早)
顺便说一句,你忘记了“我”为接口,和枚举名被前缀从基本类型名称(例如
TStringsDefined = set of (sdDelimiter, sdQuoteChar, sdNameValueSeparator,
sdLineBreak, sdStrictDelimiter)
)
等
嗯衍生一些前缀,这是另一种语言特定的位,因为Object Pascal的送花儿给人s将enum名称添加到全局空间(而不是要求enumtype.enumname)。使用前缀对全球空间的污染较少。
这是我的眼中钉之一,德尔福顺便说一句,缺乏进口控制(扩展帕斯卡Modula2风格的进口资质,从xxx IMPORT。也有一些这方面)
据我所知,T,E,F和P前缀通常只在Delphi编程中使用。它们是这里成语的标准部分,但在C#或Java中,它们看起来不合适。
Get和Set在面向对象编程中是非常标准的。对On前缀不太确定,但是我发现在任何事件驱动的框架中这很常见。
On用于WinForms,但与VCL中的使用方式相反。在VCL中,它是持有该事件的财产的名称。在WinForms中,它是触发事件的方法的名称。 WinForms中的事件属性没有On。 – 2010-06-24 09:14:38
在.Net中获取和设置为get_和set_。也是一个微妙的区别 – 2010-06-24 09:15:23
究竟什么是你的问题? “在其他语言中使用这个约定是否可行?” – 2010-06-24 00:14:12
是的,类似的东西 – arthurprs 2010-06-24 00:22:48