0%

C语言 优美的C语言命名方法

优美的C语言命名方法

Update : 20181107 增加多种命名方法的解释

武功的最高境界就是无招胜有招。

这在程序风格这里好像是说不通的,编程风格就忌讳的就是没有风格,或者太多风格。

对于C语言的变量命名而言,其实要做到太多风格其实是蛮困难的,因为C语言的变量必须是由数字、字母和下划线组成的,且数字不能开头的命名方式。这对于只有100多个键的键盘而言,可组合的真的是也是没有多少了。

可能刚开始写的时候会出现temporary这样的变量,C语言比较偏向于使用tmp来代替,这体现出来了C语言的简洁或者叫程序员的懒惰,能少敲1个是一个。

或者使用thenameofallthestudents,过了几天就会比较抓瞎,到底写的个啥,其实C语言提供了比较经典的两种方式:

  1. 驼峰法,上面的变量可以写为TheNameOfAllTheStudents
  2. 下划线法,上面的变量可以写为the_name_of_all_the_students

我比较倾向于第二种风格,暨下划线法,可能是因为对于大写的单词总归需要切换一下,😄。

当然还有其他一些诸如匈牙利命名法(微软用的比较多),PASCAL命名法(哦,Pascal),都是大同小异,有了自己的风格,坚持下去就可以了。

1
2
3
4
5
6
7
8
9
10
11
// no-style
char thenameofallthestudents[1024];

// hump-style/PASCAL-style
char TheNameOfAllTheStudents[1024];

// underscore-style
char the_name_of_all_the_students[1024];

// Hungary-style
char g_TheNameOfAllTheStudentsChar[1024];

驼峰命名法

指混合使用大小写字母来构成变量和函数的名字,比如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

程序的风格

程序设计风格的原则根源于由实际经验中得到的常识,它不是随意的规则或者处方。代码应该是清楚的和简单的—具有直截了当的逻辑、自然的表达式、通行的语言使用方式、有意义的名字和有帮助作用的注释等,应该避免耍小聪明的花招,不使用非正规的结构。一致性是非常重要的东西,如果大家都坚持同样的风格,其他人就会发现你的代码很容易读,你也容易读懂其他人的。

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道