2010-09-02 98 views
5

的一個有趣的細節我已經閱讀了各種教程在網絡上與不同類型的遊戲指定的教程(但是,這原來是相當普遍)。關於變量名稱

是否有任何理由爲什麼許多開發商說出自己的變量,比如:

mContext 

對我來說這是默認的,只是它命名爲「背景」或類似的東西。

「m」之前有沒有什麼原因? (我知道這是一個風格問題,但我只是好奇它代表什麼)

+1

這不是匈牙利符號,正如其他人所說的。但是Android編碼指南(對Android核心的貢獻)表示代碼應該遵循這種風格(m代表成員變量,s代表靜態代碼等)。 – 2010-09-22 07:49:14

+0

您能否詳細說明,這不是匈牙利符號?我知道,這是編碼準則,但我沒有理由使用它......對我來說,當我閱讀資料來源時,這是令人困惑的。 – apocalypz 2013-09-19 14:15:20

回答

5

m將表示該對象是有問題的類的成員變量。這是Hungarian Notation的常用用法,用名稱的前面加上線索來表示變量的用途或類型。

+0

謝謝,我會盡快接受。 :) – Curtain 2010-09-02 16:40:40

+2

我通常會將匈牙利符號與類型前綴相關聯,例如「czName」表示零終止的字符數組。我覺得這種用法很煩人。範圍的前綴('g'表示全局,'m'表示成員)可以很容易地區分當地人和非本地人,而不必尋找聲明。現代的IDE使這一點變得不那麼重要(直到你必須以打印的形式閱讀代碼)。 – fadden 2010-09-02 21:35:29

2

許多程序員喜歡用變量代表的變量所代表的對象類型的小寫字母作爲變量的前綴。例如:

var strMyString = new String();

+0

謝謝,但羅斯醫生更快。 :) – Curtain 2010-09-02 16:46:02

8

對我們這些誰不贊成這樣的人物塞滿了我們的變量名,他們被稱爲「疣」。在我看來,對於今天的IDE來說,最好不要使用瑕疵,因爲我們可以在沒有他們幫助的情況下很容易區分局部變量和成員變量。

+2

也謝謝!這也是我的看法。 – Curtain 2010-09-02 16:45:34

+0

在這裏完全一樣的意見。 – apocalypz 2013-09-19 14:16:19