c 语言程序设计中的“命名规则”,指的是为标识符起名字时遵循的规则。标识符主要包括变量名、函数名和宏名。
比较著名的命名规则,首推匈牙利命名法。这种命名方法,是由 microsoft 程序员查尔斯·西蒙尼(charles simonyi)提出的。其主要思想是“在变量和函数名中加入前缀,以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字,以一个或多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。例如:lpszstr,表示指向一个以‘’结尾字符串(sz)的长指针(1p)变量。
骆驼(camel)命名法,是近年来越来越流行使用的一种命名法。在许多新的函数库和 java 的平台下使用得当相多。骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。例如:printemployeepaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。
帕斯卡(pascal)命名法与骆驼命名法类似,只不过骆驼命名法是第一个单词首外文参考文献字母小写,而帕斯卡命名法则是第一个单词首字母大写。例如:displayinfo()和 urname 都是采用了帕斯卡命名法。
在 c 语言中,以帕斯卡命名法和骆驼命名法居多。事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。
另一种流行的命名规则,称为下划线命名法。下划线法是随着 c 语言的出现流行起来的,在unix/liunx 这样的环境,以及 gnu 代码中使用非常普遍。本文所述的命名规则主要基于下划线命名法发展而来。
函数名使用下划线分割小写字母的方式命名,如:
设备名_操作名 0
操作名一般采用:谓老实人伏尔泰语(此时设备名作为宾语或标明操作所属的模块)或者谓语+宾语/表语(此时设备名作为主语或者标明操作所属的模块)等形式,如:
tic_init()
adc_is_busy()
uart tx char()
中断函数的命名直接使用爱的人间手语设备名_isr()的形式命名,如:
timer2_i广西北海旅游sr()
变量的命名也采用下划线分割小写字母的方式命名。命名应当申办幼儿园准确,不引起歧义,且长度适中。如:
intlength;
uint32test offt;
单字符的名字也是常用的,如 i、j、k 等,它们通常可用作函数内的局部变量。
tmp 常用做作时变量名。
局部静态变量,应加 s_词冠(表示 static),如:
static int s_lastw;
全局变量(尤其是供外部访问的全局变量),应加 g 词冠(表示 global),如:
void (* g_capture_hook)(void);
采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:
#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++的学习路线图,希望对大家有帮助~
本文发布于:2023-04-05 11:30:21,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2bcb7d900b07d009221776c02a067b07.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:c语言用户标识符命名规则(c语言新手入门代码).doc
本文 PDF 下载地址:c语言用户标识符命名规则(c语言新手入门代码).pdf
留言与评论(共有 0 条评论) |