转-四种基本的编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法)
匈牙利命名法
匈牙利命名法是早期的规范,由微软的一个匈牙利人发明的,是IDE还十分智障的年代的产物。那个年代,当代码量很多的时候,想要确定一个变量的类型是很麻烦的,不像现在IDE都会给提示,所以才产生了这样一个命名规范,估计现在已经没啥人用了吧……一个十分系统却又琐碎的命名规范。
该命名规范,要求前缀字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,单词第一个字母大写。
1 | int iMyAge; # "i": int |
其他前缀类型还有:
1 | a 数组(Array) |
还有其他更多的前缀是根据微软自己的MFC/句柄/控件/结构等东西定义的,就不过多描述了。
驼峰式命名法
驼峰式命名法,又叫小驼峰式命名法(所以自然就存在大驼峰命名法啦……)。
该命名规范,要求第一个单词首字母小写,后面其他单词首字母大写,简单粗暴易学易用。
1 | int myAge; |
帕斯卡命名法
帕斯卡命名法,又叫大驼峰式命名法。
与小驼峰式命名法的最大区别在于,每个单词的第一个字母都要大写。
1 | int MyAge; |
下划线命名法
下划线命名法并不如大小驼峰式命名法那么备受推崇,但是也是浓墨重彩的一笔。尤其在宏定义和常量中使用比较多,通过下划线来分割全部都是大写的单词。
该命名规范,也是很简单,要求单词与单词之间通过下划线连接即可。
1 | int my_age; |
补充说明
随着技术的发展,命名规范也在不断的细化,一种命名规范早已无法系统的满足各方需求(匈牙利命名法除外,但是已经基本淘汰了),不同的语言不同 IDE 推崇的规范也有所不同,无法评判哪一种最好,但是可以肯定的是,集后三种命名规范大成者,一定是受众最广的。
例如,谷歌 C++ 编程规范,从项目的命名到文件的命名,再到类和变量以及宏定义的命名都做到了细致入微,充分的结合了下划线命名法与驼峰式命名法(早先推崇的小驼峰,不过今年好像改成大驼峰了),又加入了一些新的元素,十分的系统完善。
当然,命名规范并不代表着编程规范,仅仅是编程规范的一部分而已,除去命名规范,还有很多编程上的细节是必须关注的,例如,等号两边留空格还是等号对齐?空行神马时候神马地方留更加符合代码结构?空格神马时候神马地方留更加美观?花括号是否对齐?
诸如此类,还有很多,无法一下子全部掌握并应用,但是在编程经验增加的过程中,一定也要不断的留意,自己所在的公司部门使用的是神马样的规范,没错,并不提倡大家练就自己的规范,一定要去融入工作环境的需求。
每次去新的工作环境,第一个要看的文档不是别的,一定是编程规范,如果没有这个东西,那么就努力去推一个统一的规范,推不动的话,那可以换工作了,否则日后将会带来无尽的麻烦。
本文转载自:https://zhuanlan.zhihu.com/p/89909623