命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重, 所以不管你怎么想, 规则总归是规则
1 通用命名规则
函数,变量,文件命名要有描述性,少用缩写 尽可能给出有描述性的命名,别心疼空间,让代码易于理解更加重要 不要用只有项目开发者才能理解的缩写 不要通过省略几个字母来缩写单词
警示实例:
int n; //不知所名,莫名其妙 int nerr; //奇怪的缩写 int n_comp_conns; //奇怪的缩写 int wgc_connections; //只有开发者才明白的缩写 int pc_reader; //pc可以有很多种解释 int cstmr_id; //删减了字母
2 文件命名
文件名称要全部小写, 可以包含下划线或者连字符,按照项目的约定选择,最好选择下划线 通常尽量让文件名更加明确 内联函数必须放在.h 文件中,如果内联函数比较短,可以直接放在.h中
3 类型命名
类型名称的每个单词首字母都使用大写,不包含下划线 所有的类型命名,类\结构体\类型定义\枚举使用相同的约定
类型命名实例:
class UrlTable {... class UrlTableTester { ... struct UrlTableTester { ... typedef hash_map<UrlTableProperties * ,string> PropertiesMap; enum UrlTableErrors { ...
4 变量命名
变量名一律小写 单词之间使用下划线连接 类的成员变量以下划线结尾,结构体不需要 对全局变量没有特别要求,但是少用为好,可以使用g_或者其他标志作为前缀,更好的区分局部变量
变量命名实例:
string table_name ; string tablename;
5 常量命名
在全局或者类里面的常量名称之前加k 除去开头的k之外的每个单词开头字母均使用大写
常量命名实例:
const int kDaysInAWeek = 7;
6 函数命名
常规函数使用大小写混合,每个单词的首字母大写,没有下划线 取值和设值函数则要求与变量名匹配 其他非常短小的内联函数名可以用小写字母,例如,如果在循环中调用这样的函数甚至都不用缓存其返回值,小写命名可以接受
常量命名实例:
常规函数 AddTableEntry() DeleteUrl() 如果函数出错的时候直接崩溃,可以在函数名加上OrDie,但函数本身必须集成在产品代码中,OpenFileDie()
7 名字空间命名
名字空间用小写字母命名,基于项目名称和目录结构
常量命名实例:
常规函数 AddTableEntry() DeleteUrl() 如果函数出错的时候直接崩溃,可以在函数名加上OrDie,但函数本身必须集成在产品代码中,OpenFileDie()