C 编程中的“命名法”是指命名标识符时遵循的规则。标识符主要包括变量名、函数名和宏名。
一、常用命名约定
更著名的命名规则是匈牙利命名法。这种命名方法是由微软程序员 Charles Simonyi 提出的。主要思想是“为变量和函数名添加前缀,以提高人们对程序的理解”。匈牙利命名法的关键是:标识符的名称,前缀为一个或多个小写字母;前缀后面是一个单词或单词的组合,带有一个大写字母,表示变量的用途。例如:lpszStr,表示一个长指针 (1p) 变量,它指向一个以 ” 结尾的字符串 (sz)。
骆驼命名法是近年来越来越流行的命名法。它在许多新的函数库和 Java 平台下被大量使用。骆驼符号,顾名思义,是指使用大小写字母混合来形成标识符的名称。单词的第一个字母小写,其余单词大写。例如:printEmployeePaychecks(),函数名中的每个逻辑断点都用大写字母标记。
帕斯卡命名法类似于骆驼命名法,只是骆驼命名法是第一个单词的第一个字母小写,而帕斯卡命名法是第一个单词的首字母大写。例如:DisplayInfo() 和 UserName 都使用 Pascal 命名法。
在 C 语言中,主要使用 Pascal 命名法和骆驼命名法。事实上,很多程序员在实际命名时使用骆驼记法和帕斯卡记法,例如变量名使用骆驼记法c语言中 标识符是什么,函数使用帕斯卡记法。
另一种流行的命名约定称为下划线命名法。下划线法随着 C 语言的出现而流行起来,在 UNIX/LIUNX 和 GNU 代码等环境中非常普遍。本文介绍的命名约定主要基于下划线符号的发展。
二、函数名
函数名称使用下划线来分隔小写字母,例如:
设备名称_操作名称 0
操作名一般采用以下形式:谓词(设备名作为对象或操作所属的模块)或谓词+宾语/谓词(设备名作为对象或操作所属的模块)属于)等,如:
tic_init()
adc_is_busy()
uart tx char()
中断函数的名称直接以设备名_isr()的形式命名,如:
timer2_isr()
三、变量名
变量的命名也使用下划线来分隔小写字母。命名应准确、明确且长度适中。喜欢:
长度;
uint32testoffset;
单字符名称也常用,如i、j、k等,常作为函数内部的局部变量。
tmp 通常用作人为的变量名。
对于局部静态变量,应加s_前缀(代表静态),如:
静态int s_lastw;
全局变量(尤其是外部访问的全局变量)要加上g前缀(代表全局),如:
无效(* g_capture_hook)(无效);
四、常量和宏的名称
命名时使用下划线分隔大写字母。一般情况下,设备名称应作为前缀,以防止模块之间的名称重复。喜欢:
#define TIMER0_MODE_RELOAD2
#define TIMER2_COUNT_RE-TRIEVE(val) ((uintl 6)(65536_(val)))
当然,作为接口的宏也可以按照函数的命名方式来命名,例如:
#define timer2_clearo(TF2=0)
#define timer0 is expiredO (TF0)
五、常用缩写
事实上,没有一个所有程序员都同意的单一命名约定。而这些不同的命名规则也各有优劣。没有必要花太多的精力去发明最好的命名约定,而是制定一个能够满足大多数项目成员并实施的命名约定。标识符命名的一致性自然体现了代码的优雅。当然c语言中 标识符是什么,如果你的程序使用了第三方代码,并且这些模块都经过验证是正确的,那么就没有必要一味追求命名一致性,修改这些已经敲定的模块中的函数和变量名。
常用缩写见附录。
话虽如此,如果你是学习C/C++,笔者有一个C/C++编程人群(C语言编程学习聚集地(无声成立))有兴趣学习或了解C/C++编程的可以过来交流,另外,作者分享了一份C/C++学习路线图,希望对大家有所帮助~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 欧资源网