常见编程命名方法
本文章参考以下文章:
https://zhuanlan.zhihu.com/p/351189605
https://baike.baidu.com/item/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95/7632397
https://zhuanlan.zhihu.com/p/89909623
一、前言
编程中,变量、函数、类千千万,他们的名字也千千万,有的殊途同归,有的天差地别……合适的命名方法,让你的代码就是注释,别人一看就懂;不合适的命名方法,就算你一行代码十行注释,别人还是蒙圈!
二、匈牙利命名法
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函数指针变量。
g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
上面就是HN命名法的一般规则。
详细见百度百科匈牙利命名法
属性部分:
g_ 全局变量
c_ 常量
m_ c++类成员变量
s_ 静态变量
类型部分:
数组 a
指针 p
函数 fn
无效 v
句柄 h
长整型 l
布尔 b
浮点型(有时也指文件) f
双字 dw
字符串 sz
短整型 n
双精度浮点 d
计数 c(通常用cnt)
字符 ch(通常用c)
整型 i(通常用n)
字节 by
字 w
实型 r
无符号 u
描述部分:
最大 Max
最小 Min
初始化 Init
临时变量 T(或Temp)
源对象 Src
目的对象 Dest
三、驼峰式命名法(小驼峰法)
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
利用驼峰命名法来表示,可以增加程序可读性。例如,下面是用骆驼式命名法:
int myAge;
char myName[10];
float manHeight;
printEmployeePaychecks();
骆驼式命名法在许多新的函数库和Microsoft Windows这样的环境中使用得相当多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。
四、帕斯卡命名法(大驼峰法)
帕斯卡命名法指当变量名和函式名称是由二个或二个以上单词连结在一起,每个单词首字母大写。而构成的唯一识别字时,用以增加变量和函式的可读性。
详细见百度百科帕斯卡命名法
public void DisplayInfo();
string UserName;
五、下划线命名法
下划线命名法并不如大小驼峰式命名法那么备受推崇,但是也是浓墨重彩的一笔。尤其在宏定义和常量中使用比较多,通过下划线来分割全部都是大写的单词。
该命名规范,也是很简单,要求单词与单词之间通过下划线连接即可。
int my_age;
char my_name[10];
float man_height;
六、混合命名法
采用两种及以上的命名方法进行命名,比如ST的HAL库·····
七、乱七八糟命名法
新手常备,各种看不明白
八、总结
合适的命名方法能让工作事半功倍,不合适的命名方法,能让人看了代码直摇头!