编程规范1 命名规则---做一名优秀的程序员必备
来源:互联网 发布:入门单板吉他推荐 知乎 编辑:程序博客网 时间:2024/06/06 18:48
如何做一名优秀的程序员,从开始锻炼你的代码规范做起吧!!!
没有那种命名规则适用于所有代码工作,因此只能在实践中选择一个适应该项目的规则。代码规范的好处显而易见,一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。
总之,制定一套令开发组成员基本满意的命名规则,并在项目中贯彻实施,也是团队开发一项必不可少的工作。
0x01 命名代码规范概述
代码的命名规范其实标准很多,不外乎几种规则,以下代码以python代码为例:
一般的命名规范如下:
【规则1】标识符应简单明了,望文知意
标识符采用英文单词。切忌使用汉语拼音来命名。程序中的英文单词一般不要太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。
尽量不要使用单词缩写或首字母缩写。只有当标识符过长时才考虑使用单词缩写。在使用缩写时,不要自创缩写,尽量使用被广泛接受的缩写。
【规则2】标识符长度应当符合“min-length && max-information”原则
一般的讲,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。但是名字也不是越长越好。例如:变量名maxval就比maxValueUntilOverflow更好用。单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常用作函数内的局部变量。
【规则3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致
例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。
【规则4】程序中不要出现仅靠大小写区分的标识符。
例如:int x和int X;void foo() 和void FOO() 等。
【规则5】避免在不同级别的作用域中重名。
程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者因作用域的不同而不会发生语法错误,但会使人产生误解。
【规则6】正确命名具有互斥意义的标识符。
使用正确的反义词组命名具有互斥意义的变量或相反动作的函数。
如:”MinValue”和”MaxValue”,”GetName()” 和 “SetName()”
【规则7】尽量避免名字中出现数字编号。
如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序产生无意义的名字,降低程序的可读性。
【规则8】使用库标志
在开发动态库时,为了防止软件库中的一些标识符和其它软件库中标识符冲突,可以为各种标识符加上能反映软件性质的前缀。
例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。
0x02 实际中采用的命名方法
1 . 匈牙利命名:
开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
ex: int iMyAge; “i”是int类型的缩写; char cMyName[10]; “c”是char类型的缩写; float fManHeight; “f”是float类型的缩写;
其他:
前缀类型 a b by c cb cr cx,cy dw fn h i l lp m_ n np p s sz w (与下面一一对应关系)
数组 (Array) 布尔值 (Boolean) 字节 (Byte) 有符号字符 (Char) 无符号字符 (Char Byte,没有多少人用) 颜色参考值 (ColorRef) 坐标差(长度 ShortInt) Double Word 函数 Handle(句柄) 整型 长整型 (Long Int) Long Pointer 类的成员 短整型 (Short Int) Near Pointer Pointer 字符串型 以 null 做结尾的字符串型 (String with Zero End) Word
2 . 驼峰式命名法:
又叫小驼峰式命名法。
第一个单词首字母小写,后面其他单词首字母大写。
ex: int myAge; char myName[10]; float manHeight;
3 . 帕斯卡命名法:
又叫大驼峰式命名法。
每个单词的第一个字母都大写。
ex: int MyAge; char MyName[10]; float ManHeight;
4 . 还有些许其他的命名规范,如:下划线命名法,但是不是太常用,个人感觉可能是因为下划线位置太偏的事,不方便大量使用。综合各方面考虑,驼峰式命名法比较好,优势明显,事实上,目前使用驼峰式命名法的人也真的越来越多了。
0x03 其他具体到项目内的代码风格
谷歌的代码风格
http://code.google.com/p/google-styleguide/
15中代码及命名规范
http://codebuild.blogspot.com/2012/02/15-best-practices-of-variable-method.html
推荐《Clean Code》一书中的代码规范
详细参见https://www.zhihu.com/question/21440067
- 编程规范1 命名规则---做一名优秀的程序员必备
- Oracle编程的编码规范及命名规则
- 程序员必备的优秀编程类博客 和 文章
- 编程的命名规则
- 编程代码规范及命名规则
- 代码命名规则 及代码编程规范
- C语言编程规范4: 命名规则
- 编程规范-1命名规范
- CSS命名规范(规则)-常用的CSS命名规则
- 规范的常用CSS命名规则
- 关于编成规范-命名规则的浅谈
- ios变量的命名规则和规范
- c++编程的命名规则
- 【命名规范】图片命名规则
- 编程的命名规范--匈牙利命名法
- CSS规范 - 命名规则
- CSS规范 - 命名规则
- 打破编程的命名规范
- HDU1072 Nightmare(dfs)
- 反射6
- android sdcard存储方案三(基于fuse文件系统):
- C++基础之返回数组
- 电话拦截
- 编程规范1 命名规则---做一名优秀的程序员必备
- 重新发现矩阵
- Lecture 3
- 476. Number Complement - 最高比特位后取反
- 简单的汇编模拟器教程(JavaScript)部分1[译]
- 确认当前系统的存储模式(大端模式,小端模式)
- 1047. Student List for Course (25)
- centos配置jdk
- STM32单片机常用库函数