2010-05-05 130 views
1

什麼是一般意義和它開始有變量與領先尾隨下劃線?這些變量命名約定的起源/含義是什麼?

我一直以爲領先的下劃線表示變量是一個指針,但我不知道我在哪裏得到了這個想法。最近我看到了Java中使用的這些命名約定,這使得推理完全錯誤。

回答

1

這取決於編程語言。

在C/C++中,_varname microsoft使用它來命名內部編譯器變量,以將它們與用戶變量區分開來。最近雖然我已經開始看到前綴_和後綴_作爲表示各種語言的實例變量的一種方式。

1

據我所知,最初的下劃線是不區分大小寫的語言的推薦慣例,例如。 VB,表示私人成員,通常與沒有下劃線的公共財產一起發現。

0

雖然這可能並不有助於起源故事任​​何一種情況下...

在Perl中,前面的下劃線是一個窮人的私有成員一個社會契約。在經典的Perl OOP中沒有私有成員,所以使用下劃線是一種通信方式,表示不應該觸及,修改或直接調用此字段或方法。

實際上,我通常使用尾部下劃線重新創建一個變量,就像我重構時一樣。原來的變量將被一箇舊的糟糕的界面佔據,而使用完全相同的名稱的新變量將使用閃亮,美麗的界面。

var dog = 'golden retriever'; 
var dog_ = BRD_GOLDEN_RETRIEVER; 

process(dog); 
Shelter->Process(dog_); 

顯而易見,並排性只是暫時的。 dog_的存在是暫時的。