遵循统一的命名风格
17.2 ID_inconsistentNaming
命名风格不统一会严重降低代码可读性,易造成理解上的偏差,增加维护成本。
本规则强调命名风格的一致性,对具体的命名方法暂不作量化要求,以下是一些建议:
- 除自定义字面常量后缀之外,避免名称以下划线开头
- 无命名空间限制的全局名称以模块名称开头
- 名称长度与其声明所在的作用域深度成反比
- 从名称上体现作用域,如全局对象名以 g_ 开头,成员对象名以 m_ 开头或以 _ 结尾
- 从名称上体现类别,如宏名采用全大写字母,类型名以大写字母开头,函数或对象名以小写字母开头
对于不良名称产生的后果可参见 ID_badName、ID_reservedName。
示例:
struct Tp {
int foo_;
int m_bar; // Inconsistent
int baz; // Inconsistent
};
int foo_bar();
int fooBar(); // Inconsistent
int FooBar(); // Inconsistent
例中各名称具有不同的前缀、后缀以及不同的单词连接方式是不符合要求的。