文章插图
软件开发:实体抽象为虚拟体,复杂庞大的逻辑区分依赖规则的建立 。运用命名规则来搭建框架,会使整个软件系统框架,有更清晰的可读性和可维护性 。
一、命令的整体原则
1.同一性在编写一个子模块或者派生类的时候,需要遵循其基类或整体模块的命令风格,保持命令风格在整体模块的同一性 。
2.标识符组成--单词标识符采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确 。
3.最小化长度&&最大化信息量原则在保持一个标识符明确意思的同时,应该尽量缩短其长度 。
4.避免过于相似不要出现紧靠大小写区分的标识符,例如“i”与“I”,“function”与“Function”等 。
5.避免在不同级别的作用域的重名程序中不要出现名字完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法的错误,但是容易使人误解 。
6.正确命名具有互斥意义的标识符用正确的反义词命名具有互斥意义的标识符,如:“nMinValue"和"nMaxValue”,"GetName()“和"SetName()”
7.避免名字出现数字编号尽量避免名字出现数字的编号,如Value0、Value1、Value2等,除非逻辑上的确需要编号 。这是为了防止程序员偷懒,不肯为命名动脑筋从而导致了产生无意义的名字(因为用数字编号最省事) 。
二、类/结构的命名 除了异常类等个别情况(不希望用户把类看作一个普通的、正常类的情况)外,C++类结构的命名一般应该遵循以下准则
1.C++类/结构的命名类的名字都要以大写的字母“C”开头,后跟一个或多个单词 。为便于界定,每个单词的首字母需要大写 。
2.推荐的组织形式类的命名推荐用“名词”或者“形容词+名词”的形式,例如:“CAnalyzer”、“CFVecteor” …
三、C语言结构体的命名
1.传统的C的命名规则传统C结构体的名称全部由大写字母组成,单词间使用下划线界定,例如:“SERVICE_STATUS”,“DRIVER_INFO”…
四、函数命名
1.函数的命名函数的名称由一个或者多个单词组成 。便于界定,每个单词的首字母要大写 。
推荐的组织形式 函数名应该使用“动词”或者“动词+名词”(动宾词组)形式 。例如:“GetName()”、“SetName()”、“Erase()”、“Reserve()”…
2.保护成员函数保护成员函数的开头应当加上一个下划线“_“以示区分,例如”_SetState()”…
3.私有成员函数类似地,私有成员函数的开头应当加上两个下划线“__”,例如“__DestroyImp()”…
虚函数 虚函数习惯用"Do"开头,如:“DoRefresh()”,"_DoEncryption()"…
4.回调和事件处理函数回调和事件处理函数习惯以单词"On"开头 。例如:"_OnTimer()",“OnExit()”
五、变量命名变量应该是程序中使用最多的标识符了,变量的命名规范可能是一套C++命名准则中最重要的部分 。
1.变量的命名变量名由作用于前缀+类型的缀+一个或多个单词组成 。为了便于界定,每个单词的首字母要大写 。对于某些用途简单明了的局部变量,也可以使用简化的方式,如:i,j,k,x,y,z...
2.作用域前缀作用域前缀标明了一个变量的可见范围 。作用域可以有以下几种:
前缀 说明
无 局部变量
m_ 类的成员变量(member)
sm_ 类的静态成员变量(static member)
s_ 静态变量(static)
g_ 外部全局变量(global)
sg_ 静态全局变量(static global)
sg_ 静态全局变量(static global)
gg_ 进程间共享的数据段全局变量(global global)
除非不得已,否则应该尽可能少用全局变量 。
3.类型的缀前缀 说明
n 整型和位域变量(number)
e 枚举型变量(enumeration)
c 字符型变量(char)
推荐阅读
- 鸭屎香 狗牯脑 茶叶到底如何被命名的
- 用数字命名的普洱茶 大多数人都看不懂
- 淘宝搜索你绝对不想知道的事 淘宝搜索排名的规则
- 淘宝最新规则 淘宝规则的基本规则
- 淘宝规则考试在哪里考 天猫开店考试能考多少次
- 淘宝最新规定 淘宝规则何时生效
- 供应商发布禁限售商品最高处罚 淘宝禁限售商品规则
- 淘宝开店流程与规则分析 淘宝的开店规则
- 生肖|关于职场“潜规则,经历得够多,才会明白这10条职场“潜规则”!
- 部分发货可以延迟发货时间吗 延迟发货管控规则是什么