
各命名法思維導圖
在編程中我們都會遇到自定義變量名的情況,隨著程序的復雜就需要復雜的變量名表達更豐富的含義,這就會需要用到多個單詞或符號。英語習慣使用空格來間隔開單詞,然而空格一般在編程語言有特殊的意義,用在變量名中會帶來一些麻煩,所以程序員們就創造出了各種命名法。總體而言,這些命名法都要克服單詞間的空格,從而把不同單詞串聯起來,最終達到創造出一種新的“單詞”的效果。
常見的命名法有:蛇形命名法(Snake case)、駝峰命名法(Camel case)、匈牙利命名法(HN case)、帕斯卡命名法(Pascal case)、脊柱命名法(Spinal case)、自由命名法(Studly caps)。
如果按照受眾量與知名程度排名,毫無疑問排前兩位的是駝峰命名法和蛇形命名法。在Python中一般對變量名推薦用蛇形命名法,畢竟Python自己就是一條蟒蛇嘛。而在類名、Type 變量、異常exception名這些情況下推薦用駝峰命名法。
駝峰命名法又分為小駝峰命名法(第一個單詞以小寫字母開頭,其余單詞首字母大寫,如:theFirstName)和大駝峰命名法(所有單詞首字母均大寫,如:TheFirstName)。這樣的變量名看上去就像駝峰一樣在每個單詞處起伏。
蛇形法是全由小寫字母和下劃線組成,在兩個單詞之間用下劃線連接即可,如:first_name、last_name。這樣變量名就由下劃線像蛇一樣連接起了所有單詞。
這兩種命名法有著各自的優缺點,用哪種更多是看程序員的習慣。
可讀性:蛇形命名法用下劃線拉大詞距,更清楚易讀;駝峰命名法的變量名緊湊,節省行寬。
易寫性:駝峰命名法以大小寫為區分,不引入額外的標識符;蛇形命名法統一小寫,輸入相對方便。
明義性:對于某些縮寫成的專有名詞,例如HTTP、RGB、DNS等等,一般習慣全用大寫表示,但是如果嚴格遵循這兩種命名法的話,須得只留首字母大寫或者全小寫,這樣對原意都會造成一些“破壞”,有時候甚至讓人感覺到別扭。如果保留全大寫,IDE可能識別不準,反而會出現波浪提示。