C语言:命名规范
C是一门朴素的语言,你使用的命名也应该这样。
然而,当面对复杂情况时就有些棘手,给全局变数取一个描述性的名字是必要的。把一个全局函数叫做「foo」是一种目光短浅的行为。全局函数也一样,如果你有一个统计当前用户个数的函数,应当把它命名为「count_active_user()」或者简单点些的类似名称,不应该命名为「cntusr()」。1 三种流行的命名法则目前,业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法,其中前三种是较为流行的命名法。(1)驼峰命令法。正如它的名称所表示的那样,是指混合使用大小写字母来构成变数和函数的名字,其实我们工作比较常用的就是驼峰命令法。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:(3)帕斯卡(pascal)命名法。与驼峰命名法类似,二者的区别在于:驼峰命名法是首字母小写,而帕斯卡命名法是首字母大写,如:
(3)自己特有的命名风格,要自始至终保持一致,不可来回变化。个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。
(4)对于变数命名,禁止取单个字元(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变数类型、数据类型等,但i 、j 、k 作局部循环变数是允许的。变数,尤其是局部变数,如果用单个字元表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。(5)除非必要,不要用数字或较奇怪的字元来定义标识符。(6)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。(7)在同一软体产品内,应规划好介面部分标识符(变数、结构、函数及常量)的命名,防止编译、链接时产生冲突。对介面部分的标识符应该有更严格限制,防止冲突。如可规定介面部分的变数与常量之前加上「模块」标识等。(8)用正确的反义片语命名具有互斥意义的变数或函数等。下面是一些在软体中常用的反义片语。对非通用的变数,在定义时加入注释说明,变数定义尽量可能放在函数的开始处:
bool 用b开头 b标志寄存器int 用i开头 iCountshort int 用n开头 nStepCountlong int 用l开头 lSumchar 用c开头 cCountunsigned char 用by开头float 用f开头 fAvgdouble 用d开头 dDetaunsigned int(WORD) 用w开头 wCountunsigned long int(DWORD) 用dw开头 dwBroad
字元串 用s开头 sFileName用0结尾的字元串 用sz开头 szFileName(2)指针变数命名的基本原则为:对一重指针变数的基本原则为:「p」+变数类型前缀+命名,如一个float*型应该表示为pfStat。对二重指针变数的基本规则为:「pp」+变数类型前缀+命名。对三重指针变数的基本规则为:「ppp」+变数类型前缀+命名。(3)全局变数用g_开头,如一个全局的长型变数定义为g_lFailCount。即:变数名=g_+变数类型+变数的英文意思(或缩写)。此规则还可避免局部变数和全局变数同名而引起的问题。(4)静态变数用s_开头,如一个静态的指针变数定义为s_plPerv_Inst。即: 变数名=s_+变数类型+变数的英文意思(或缩写)(5)对枚举类型(enum)中的变数,要求用枚举变数或其缩写做前缀。并且要求用大写。如:(3)必须使用函数原型声明。函数原型声明包括:引用外来函数及内部函数,外部引用必须在右侧注明函数来源: 模块名及文件名;内部函数,只要注释其定义文件名——和调用者在同一文件中(简单程序)时不需要注释。
应确保每个函数声明中的参数的名称、类型和定义中的名称、类型一致。5 函数参数命名规范(1)参数名称的命名参照变数命名规范。(2)为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。(3)为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。如:……cmCopyString(const CHAR * c_szSource, CHAR * szDest)6 文件名(包括动态库、组件、控制项、工程文件等)的命名规范文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。如有侵权,请联系删除!
原文:
【初识C语言】C语言命名规范学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C语言或者有兴趣学习C语言的伙伴可以加我Q_2208165112。一起学习,一起进步。还有免费学习资料可以给各位伙伴
推荐阅读: