优美的C语言命名方法
Update : 20181107 增加多种命名方法的解释
武功的最高境界就是无招胜有招。
这在程序风格这里好像是说不通的,编程风格就忌讳的就是没有风格,或者太多风格。
对于C语言的变量命名而言,其实要做到太多风格其实是蛮困难的,因为C语言的变量必须是由数字、字母和下划线组成的,且数字不能开头
的命名方式。这对于只有100多个键的键盘而言,可组合的真的是也是没有多少了。
可能刚开始写的时候会出现temporary
这样的变量,C语言比较偏向于使用tmp
来代替,这体现出来了C语言的简洁或者叫程序员的懒惰,能少敲1个是一个。
或者使用thenameofallthestudents
,过了几天就会比较抓瞎,到底写的个啥,其实C语言提供了比较经典的两种方式:
- 驼峰法,上面的变量可以写为
TheNameOfAllTheStudents
- 下划线法,上面的变量可以写为
the_name_of_all_the_students
我比较倾向于第二种风格,暨下划线法,可能是因为对于大写的单词总归需要切换一下,😄。
当然还有其他一些诸如匈牙利命名法(微软用的比较多),PASCAL命名法(哦,Pascal),都是大同小异,有了自己的风格,坚持下去就可以了。
1 | // no-style |
驼峰命名法
指混合使用大小写字母来构成变量和函数的名字,比如theNameOfAllTheStudents
注意:第一个单词首字母小写
匈牙利命名法
在微软Windows环境中用的比较多,那是因为发明这个的人就是Microsoft的程序员,这种命名方式有点小复杂,规则如下:
- 变量名前面要加上一个小些字母做为前缀,来标示出变量的作用域和类型
- 后面就可以是中英文的各种含义了
比如,如果定义一个整型(int)的年龄(Age),那么命名方式为iAge,如果定义一个字符串名字,可以使用sName,而用0结尾的字符串,一般使用sz开头,比如szName。
而像上面的例子中,作用域可以使用g来表示全局变量global,l表示局部变量local。
不过,在当前的环境下,随便一个IDE都有智能提示,这个类型和作用域其实已经不是很有必要了。
帕斯卡PASCAL命名法
Pascal曾经称霸多年。
与驼峰命名法类似,二者的区别在于:驼峰命名法是首字母小写,而帕斯卡命名法是首字母大写TheNameOfAllTheStudents
,所以PASCAL命名法也被称为大驼峰命名法。
下划线命名法
指混合使用小写字母与下划线来构成变量和函数的名字,比如the_name_of_all_the_students
程序的风格
程序设计风格的原则根源于由实际经验中得到的常识,它不是随意的规则或者处方。代码应该是清楚的和简单的—具有直截了当的逻辑、自然的表达式、通行的语言使用方式、有意义的名字和有帮助作用的注释等,应该避免耍小聪明的花招,不使用非正规的结构。一致性是非常重要的东西,如果大家都坚持同样的风格,其他人就会发现你的代码很容易读,你也容易读懂其他人的。