1. 背景
命名规则对于代码开发和理解很重要,是作为一名合格的设计师具备的良好代码习惯。
2. 命名规则
2.1 匈牙利命名法
基本原则:变量名 = 属性 + 类型 + 对象描述。比如g_fWidth,g_代表全局变量,f代表浮点型数据,Width是对变量的具体描述。关键:标识符的名称以一个或者多个小写字符开头作为前缀,前缀之后的是首字母大写的一个单词或者多个单词组合,该单词要指明变量的用途。
目前,该命名法已经过时,非常不建议使用。
2.2 驼峰命名法
当变量名或函数名是由一个或多个单词连接在一起,构成的唯一标识符时,第一个单词以小写字母开始,第二个单词的首字母大写或者每一个单词的首字母都采用大写字母;例如:fileName,FileName。也称为“小驼峰命名法”;
2.3 帕斯卡命名法
单字之间不以空格断开或连接号(-)、底线(_)连接,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FristName、LastName。每一个单字的首字母都采用大写字母的命名格式;也称为“大驼峰式命名法”;
2.4 下划线命名法
又被称为“蛇形命名法”,如my_variable。常见于Linux内核,C++标准库。该命名法可读性稍好,但是胡增加命名的长度和输入难度。
2.5 小结
在实际的使用过程中,主要参照一种病检查规范使用。在团队中,主要还是要统一风格,代码容易维护。
3 共性规则
【规范】标识符应当直观且可以拼读;最好采用英文单词或组合,便于记忆和阅读,切勿使用汉语拼音来命名。
【规范】标识符长度符合“min-length”&&“max-information”原则。
【规范】类的命名应尽可能清楚的反应客观事实。
【规范】程序中不要出现标识符完全相同的局部变量和全局变量,以免产生误解。
【规范】函数的名称应使用“动词”或者“动词+名称”(动宾词组)。例如:
DrawBox();
box->draw();
【规范】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。例如:
int minValue;
int maxValue;
int SetValue(...);
int GetValue(...);
4 类
【规范】函数名采用帕斯卡命名规则,如:class Student。
【规范】成员函数采用驼峰命名规则,如:int getAge();
【规范】成员变量采用驼峰命名规则,并且以m_开头,比如:m_age;
5 方法/函数
【规范】动词[+名词],采用驼峰命名规则。例如:run(),getName(),openFile();
布尔型判断方法
使用is作为前缀,如:isString(),或者使用具有逻辑意义的单词,如:equal()或者equals()。
使用到数据的增删改查的方法,统一用以下字母开头:add,delete,update,get;
【规范】全局变量/静态方法采用帕斯卡命名规则,如:int GetMaxValue().
6 结构体
【规范】结构体名称采用帕斯卡命名规则,如:struct StudentInfo()。
【规范】结构体成员采用驼峰命名规则,如:int name();
struct StudentInfo { std::string name; int age; std::string studentId; }; |
7 枚举
【规范】枚举名称采用帕斯卡命名规则,如:enum MsgType。
【规范】枚举成员采用全大写加下划线组合;
enum { MSG_SEND_SESSION_ID = 0, MSG_ADD_EVENT = 100, } |
8 参数/变量
变量的命名生动,贴切,一般不建议缩写。如:int productTypeCnt = 0;表示产品类型数量;
在小的语句块里,”即用即弃“的临时变量可以缩写,或者单字母;如
for (int i = 0; i < 10; i++)
{
//TODO
}
【规范】所有的局部变量都采用驼峰命名规则,如:int driverType。
【规范】所有的静态变量采用s开头的驼峰命名规则,如:sDnsNum。
【规范】所有的静态全局变量采用sg开头的驼峰命名规则,如sgDns。
【规范】所有的全局变量采用g开头的驼峰命名规则,如:gDnsNum。
9 常量/宏
【规范】所有的常量采用cg开头的驼峰命名规则,如:sglUpdate();
【规范】所有宏定义采用大写加下划线的命名规则,如:#define MAX_NUM 5;
【建议】尽量使用const 常量来代替宏定义,除非必须这么做。
标签:编码,驼峰,--,规范,C++,int,规则,命名,采用 From: https://www.cnblogs.com/ysnana/p/16889710.html