各命名法思维导图
在编程中我们都会遇到自定义变量名的情况,随着程序的复杂就需要复杂的变量名表达更丰富的含义,这就会需要用到多个单词或符号。英语习惯使用空格来间隔开单词,然而空格一般在编程语言有特殊的意义,用在变量名中会带来一些麻烦,所以程序员们就创造出了各种命名法。总体而言,这些命名法都要克服单词间的空格,从而把不同单词串联起来,最终达到创造出一种新的“单词”的效果。
常见的命名法有:蛇形命名法(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可能识别不准,反而会出现波浪提示。