2010-06-24 50 views
2

我學會了用delphi編程,而且我總是喜歡對象的pascal代碼風格,看起來非常直觀和乾淨。ObjectPascal標識符在其他語言上的命名風格

當你看的變量聲明,你就知道什麼是你處理..

快速摘要:

異常Ë EMyError
等級和類型牛逼 TMyClass
類中的字段f fVisible
事件 onmousedown事件
指針類型P PMyRecord
物業獲取東西設置 SetSomething

這太不好用在C++ C#Java的這個標識符命名風格,或任何其他語言的代碼?

+0

究竟什麼是你的問題? 「在其他語言中使用這個約定是否可行?」 – 2010-06-24 00:14:12

+0

是的,類似的東西 – arthurprs 2010-06-24 00:22:48

回答

3

除了口味和文化問題(如已被梅森指出)

有可能是原因,按照慣例依賴於一定的語言,其他語言也可能對他們的原因。

我只能趕緊想雖然幾個例子:

在不需要指針類型語言來使用(像大多數非Borland的帕斯卡,C等),在「P」之前定義通常很少需要。

其他語言也可能有額外的消除歧義的方法(就像在C中常常類型是大寫的,而變量或字段是小寫的標識符),並且不需要「T」。 (嚴格來說,德爾福既不至少也不是字段,因爲標識符在某種程度上依賴於上下文查找(就像字段和類型的分離名稱空間一樣),但是約定比那個特性早)

順便說一句,你忘記了「我」爲接口,和枚舉名被前綴從基本類型名稱(例如

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

嗯衍生一些前綴,這是另一種語言特定的位,因爲Object Pascal的送花兒給人s將enum名稱添加到全局空間(而不是要求enumtype.enumname)。使用前綴對全球空間的污染較少。

這是我的眼中釘之一,德爾福順便說一句,缺乏進口控制(擴展帕斯卡Modula2風格的進口資質,從xxx IMPORT。也有一些這方面)

3

據我所知,T,E,F和P前綴通常只在Delphi編程中使用。它們是這裏成語的標準部分,但在C#或Java中,它們看起來不合適。

Get和Set在面向對象編程中是非常標準的。對On前綴不太確定,但是我發現在任何事件驅動的框架中這很常見。

+1

On用於WinForms,但與VCL中的使用方式相反。在VCL中,它是持有該事件的財產的名稱。在WinForms中,它是觸發事件的方法的名稱。 WinForms中的事件屬性沒有On。 – 2010-06-24 09:14:38

+1

在.Net中獲取和設置爲get_和set_。也是一個微妙的區別 – 2010-06-24 09:15:23