什麼是一般意義和它開始有變量與領先或尾隨下劃線?這些變量命名約定的起源/含義是什麼?
我一直以爲領先的下劃線表示變量是一個指針,但我不知道我在哪裏得到了這個想法。最近我看到了Java中使用的這些命名約定,這使得推理完全錯誤。
什麼是一般意義和它開始有變量與領先或尾隨下劃線?這些變量命名約定的起源/含義是什麼?
我一直以爲領先的下劃線表示變量是一個指針,但我不知道我在哪裏得到了這個想法。最近我看到了Java中使用的這些命名約定,這使得推理完全錯誤。
這取決於編程語言。
在C/C++中,_varname microsoft使用它來命名內部編譯器變量,以將它們與用戶變量區分開來。最近雖然我已經開始看到前綴_和後綴_作爲表示各種語言的實例變量的一種方式。
據我所知,最初的下劃線是不區分大小寫的語言的推薦慣例,例如。 VB,表示私人成員,通常與沒有下劃線的公共財產一起發現。
雖然這可能並不有助於起源故事任何一種情況下...
在Perl中,前面的下劃線是一個窮人的私有成員一個社會契約。在經典的Perl OOP中沒有私有成員,所以使用下劃線是一種通信方式,表示不應該觸及,修改或直接調用此字段或方法。
實際上,我通常使用尾部下劃線重新創建一個變量,就像我重構時一樣。原來的變量將被一箇舊的糟糕的界面佔據,而使用完全相同的名稱的新變量將使用閃亮,美麗的界面。
var dog = 'golden retriever';
var dog_ = BRD_GOLDEN_RETRIEVER;
process(dog);
Shelter->Process(dog_);
顯而易見,並排性只是暫時的。 dog_的存在是暫時的。