gpt4 book ai didi

delphi - 其他语言上的 ObjectPascal 标识符命名风格

转载 作者:行者123 更新时间:2023-12-03 18:19:56 25 4
gpt4 key购买 nike

我学会了用delphi编程,我一直喜欢object pascal代码风格,看起来非常直观和干净。

当你查看变量声明时,你就知道你在处理什么......

快速总结:

Exception E EMyError
Classes and Types T TMyClass
Fields in classes f fVisible
Events On OnMouseDown
Pointer types P PMyRecord
Property Get Something Set SetSomething

在 C++ C# Java 或任何其他语言代码中使用这种标识符命名风格太糟糕了?

最佳答案

除了品味和文化问题(正如梅森已经指出的)

约定与某种语言相关可能是有原因的,其他语言也可能有其原因。

不过我只能很快想到几个例子:

在使用前不需要定义指针类型的语言(如大多数非 Borland Pascal、C 等),“P”通常很少需要。

其他语言可能还有其他消除歧义的方法(例如在 C 中,类型通常为大写,变量或字段获得小写标识符),并且不需要“T”。 (严格来说,Delphi 至少对于字段来说两者都不是,因为标识符在某种程度上依赖于上下文进行查找(例如字段和类型的单独命名空间),但约定比该功能更早)

顺便说一句,您忘记了接口(interface)的“I”,并且枚举名称以从基本类型名称派生的一些前缀为前缀(例如

TStringsDefined = set of (sdDelimiter, sdQuoteChar, sdNameValueSeparator,
sdLineBreak, sdStrictDelimiter)

)

等等。

嗯,这是另一种特定于语言的位,因为 Object Pascal 总是将枚举名称添加到全局空间(而不是需要 enumtype.enumname)。有了前缀,全局空间的污染就会减少。

顺便说一句,这是我对 Delphi 的不满之一,缺乏导入控制(Modula2 风格的 IMPORT QUALIFIED ,FROM xxx IMPORT。Extend Pascal 也有一些这样的)

关于delphi - 其他语言上的 ObjectPascal 标识符命名风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3106404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com