C语言编码风格(三)——标识符命名
来源:互联网 发布:腾讯视频 for mac 编辑:程序博客网 时间:2024/06/05 09:42
标识符命名应遵循以下原则:
1、标识符命名要清晰明了,可以使用完整的单词和易于理解的缩写。短的单词可以通过去元音形成缩写,较长的单词可以取单词的头几个字母形成缩写。
看别人的代码看多了就可以总结出一些缩写惯例,例如count
写成cnt
,block
写成blk
,length
写成len
,window
写成win
,message
写成msg
,number
写成nr
,temporary
可以写成temp
,也可以进一步写成tmp
,最有意思的是internationalization
写成i18n
,词根trans
经常缩写成x
,例如transmit
写成xmt
。我就不多举例了,请读者在看代码时自己注意总结和积累。
2、内核编码风格规定变量、函数和类型采用全小写加下划线的方式命名,常量(比如宏定义和枚举常量)采用全大写加下划线的方式命名,比如上一节举例的函数名radix_tree_insert
、类型名struct radix_tree_root
、常量名RADIX_TREE_MAP_SHIFT
等。微软发明了一种变量命名法叫匈牙利命名法(Hungarian notation),在变量名中用前缀表示类型,例如iCnt
(i表示int)、pMsg
(p表示pointer)、lpszText
(lpsz表示long pointer to a zero-ended string)等。
Linus在[CodingStyle]中毫不客气地讽刺了这种写法:“Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged – the compiler knows the types anyway and can check those, and it only confuses the programmer. No wonder MicroSoft makes buggy programs.”代码风格本来就是一个很有争议的问题,如果你接受本章介绍的内核编码风格(也是本书所有范例代码的风格),就不要使用大小写混合的变量命名方式[19],更不要使用匈牙利命名法。
3、全局变量和全局函数的命名一定要详细,不惜多用几个单词多写几个下划线,例如函数名radix_tree_insert
,因为它们在整个项目的许多源文件中都会用到,必须让使用者明确这个变量或函数是干什么用的。局部变量和只在一个源文件中调用的内部函数的命名可以简略一些,但不能太短。尽量不要使用单个字母做变量名,只有一个例外:用i
、j
、k
做循环变量是可以的。
4、针对中国程序员的一条特别规定:禁止用汉语拼音做标识符,可读性极差。
注:[CodingStyle] Linux内核源代码目录下的Documentation/CodingStyle文件.
转自《linuxC编程 一站式学习》
- C语言编码风格(三)——标识符命名
- 华为C语言编程规范(4)—标识符命名
- 华为C语言编程规范(4)—标识符命名
- C语言的编码风格-变量命名(7)
- 华为C语言编程规范—标识符命名
- C语言编码风格(二)——注释
- C语言编码风格(四)——函数
- C语言编码风格(五)——indent工具
- C语言标识符命名规则
- C语言——内部名,外部名及C语言中标识符的命名规则
- C语言编码风格
- C语言编码风格
- C语言入门(19)——C语言的编码风格
- 代码风格(五)标识符命名
- C语言——标识符
- C语言的标识符命名规则
- c语言中标识符命名规则
- C语言编码风格(一)——缩进和空白
- 从电脑版页面获取新闻正文html代码
- xml解析比较
- C语言编码风格(一)——缩进和空白
- C语言知识点总结
- C语言编码风格(二)——注释
- C语言编码风格(三)——标识符命名
- C语言编码风格(四)——函数
- C语言编码风格(五)——indent工具
- 大象Thinking in UML读书笔记一
- 漫漫找工路——百度、移动、华为等公司应聘经历总结
- 一位码农的人生自述(三十八)------惊喜
- 再谈Doxygen--一个开源文档生成工具
- linux 静态库 动态库常识
- document为空或不是对象