天天看點

關于變量的命名規則

  在打代碼的過程中,我們經常要使用到變量。沒有變量的代碼是沒有靈魂的代碼。但是,在對變量的命名上,卻有很大的講究。比如 double sg;很明顯,這是表示身(s)高(g)的一個變量。當然,有人會說,這個代碼是自己看的,我用我自己命名的思路去解碼(對,就是解碼)這些變量很容易啊。但是,如果這些變量達到十萬、百萬、甚至千萬個,或者讓你幾年不看這些代碼,你還記得sg具體是什麼意思嗎?是身高、水果、事故,還是水管?

  那麼有人會說了,我命名的具體一點不就可以了?我就用拼音命名呗,身高就是double shengao,多明顯,多簡單易記?但是,如果把這代碼給其他人看呢?一個程式的實作,靠一個人是很難完成的,需要有合作,誰能保證其他合作者也是用拼音命名大法?而且身高隻是一個簡單的例子,如果變量表示某個人的身份證号碼,難道用拼音大法拼出一句話作為變量?顯然不行。

  是以,一個好的、标準的、統一的變量命名規則尤為重要!

  首先,變量的命名一般是使用該變量的英文單詞組合來命名。

  其次,各個不同的語言對命名的結構有所不同。在C/C++中,一般使用下劃線來幫助命名。比如一個記錄自己id卡号的變量 char myidcard,一般會命名為 char my_id_card。而在Java、Android Studio、Python等語言中,一般都會使用駝峰命名法,将除第一個單詞全小寫外,後面的每一個單詞以大寫開頭,如上述的char idcard,用駝峰命名法就是char myIdCard。

  變量的具體命名中,允許有縮寫,但要求此縮寫能讓人明白其原來的英文單詞的意思。比如 String nameStr,中的 Str 是 String的縮寫,一般看到這個就會明白這表示該變量是一個儲存姓名的臨時String型變量。

  而對于作用域(或者屬性)不同的變量,其命名方式也遵循一定的規則。如全局變量,一般會在變量的前面加個 g(global)如 g_dog_name/ gdogName,成員變量則會在前面加個 m(member),靜态變量則會在前面加個 s(static)。

繼續閱讀