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