C语言常见命名规则.doc_第1页
C语言常见命名规则.doc_第2页
C语言常见命名规则.doc_第3页
C语言常见命名规则.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料分享之学习笔记C语言常见命名规则一、概述比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯西蒙尼(Charles Simonyi) 提出的。 其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。例如 lpszStr, 表示指向一个以0结尾的字符串(sz)的长指针(lp)变量。骆驼(Camel)命名法近年来越来越流行,在许多新的函数库和Java这样的平台下使用得当相多。骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。例如 printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。帕斯卡(Pascal)命名法与骆驼命名法类似。只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。例如 DisplayInfo()和UserName都是采用了帕斯卡命名法。在C#中,以帕斯卡命名法和骆驼命名法居多。事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。另一种流行的命名规则称为下划线命名法。下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。1、 常量名用大写,太长时用下划线隔开:1. #define MAX2. #define INCREMENT_SIZE2、变量名采用小驼峰形式书写:1. int first2. float newElem3、函数名、结构名和联合名采用大驼峰形式书写:1. void ClearList(List* L)2. 3. .4. 5. int PutElem(int elem)6. 7. .8. 9. typedef struct LinkNode10. 11. int data;12. struct LinkNode* next;13. *LinkPoint;4、全局变量加前缀“g_”,其余特殊变量类似本章所述的命名规则主要基于下划线命名法发展而来。二、各类命名规则1. 函数的命名函数名使用下划线分割小写字母的方式命名:设备名_操作名()操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语+宾语/表语(此时设备名作为主语或者标明操作所属的模块) 等形式,如:1. tic_init()2. adc_is_busy()3. uart_tx_char()中断函数的命名直接使用 设备名_isr() 的形式命名,如:1. timer2_isr()2. 变量的命名变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:1. int length;2. uint32 test_offset;单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。u tmp常用做临时变量名。局部静态变量,应加s_词冠(表示static),如:1. static int s_lastw; 全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:1. void (*g_capture_hook)(void); 3. 常量及宏的命名采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:1. #define TIMER0_MODE_RELOAD 22. #define TIMER2_COUNT_RETRIEVE(val) (uint16)(65535-(val)当然,看作接口的宏可以按照函数的命名方法命名,例如:1. #define timer2_clear() (TF2 =0)2. #define timer0_is_expired() (TF0) 4. 常用缩写词原词 缩写addition addanswer ansarray arraverage avgbuffer buf或buffcapture cap或captcheck chkcount cntcolumn colcontrol ctrldecode decdefine defdelete deldestination dst或destdisplay dispdivision divencode encenvironment enverror errfloat fltfrequency freqheader hdrindex idximage imgincrement incinitalize inititeration itrlength lenmemory memmiddle midmake mkmessage msgmultiplication mulnumber numoperand opndoptimization optoperator optrpacket pktpositon posprevious pre或prevpayload type ptpointer ptrreturn code rcrecord rcdreceive recvresult resreturn retsource srcstack stkstring strsubtraction subtable tabtemporary tmp或temptotal tottime stamp tsvalue val5. 结语没有一种命名规则可以让所有的程序员赞同。而这多种命名规则也确实各有利弊。没有必要花太多的精力试图发明最好的命名规则,而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论