C++命名规范
2015-08-05 19:35
323 查看
如果想要有效的管理一个稍微复杂一点的体系,针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。
活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。除了上帝(设它可以改变世间万物的秩序)以外,相信没人有实力对它不屑一顾。
在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。
在引入细节之前,先说明一下命名规范的整体原则:
[thead]
详见:
http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2289291.html
活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的正确性。除了上帝(设它可以改变世间万物的秩序)以外,相信没人有实力对它不屑一顾。
在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。
在引入细节之前,先说明一下命名规范的整体原则:
原则 | 细节 |
---|---|
同一性 | 在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名风格,保持命名风格在整个模块中的同一性 。 |
标识符组成 | 标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。 |
最小化长度 && 最大化信息量原则 | 在保持一个标识符意思明确的同时,应当尽量缩短其长度。 |
避免过于相似 | 不要出现仅靠大小写区分的相似的标识符,例如“i”与“I”,“function”与“Function”等等。 |
避免在不同级别的作用域中重名 | 程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但容易使人误解。 |
正确命名具有互斥意义的标识符 | 用正确的反义词组命名具有互斥意义的标识符,如:”nMinValue”和”nMaxValue”,”GetName()” 和 “SetName()” …. |
避免名字中出现数字编号 | 尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无意义的名字(因为用数字编号最省事)。 |
http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2289291.html
相关文章推荐
- HASH表的实现(拉链法) - C/C++
- c++常量函数的理解
- 黑马程序员---C语言基础---条件、循环语句、函数
- 文档、视图和框架:分割窗口
- c语言运算符优先级,结合性(左/右结合详解)
- LeetCode 173. Binary Search Tree Iterator
- C++中pair的用法
- [2015.8.5]C++学习总结
- 用C++实现单链表的创建、逆置和输出
- libcurl的C语言接口使用过程
- C++ Builder XE8 安卓开发之无法删除控件的解决方法
- 我的核弹C++(一)Void 类型作用
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
- C++文件读写详解(ofstream,ifstream,fstream)
- C++中的内存分配
- g++与c++扩栈方法
- C++Primer新笔记之----第6章函数
- C++Primer新笔记之----第10章泛型算法
- C++Primer新笔记之----第11章 使用关联容器
- C++沉思录 第八章 面向对象程序范例