☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

遵循统一的命名风格

17.2 ID_inconsistentNaming
目录 › next › previous

命名风格不统一会严重降低代码可读性,易造成理解上的偏差,增加维护成本。

本规则强调命名风格的一致性,对具体的命名方法暂不作量化要求,以下是一些建议:

  • 除自定义字面常量后缀之外,避免名称以下划线开头
  • 无命名空间限制的全局名称以模块名称开头
  • 名称长度与其声明所在的作用域深度成反比
  • 从名称上体现作用域,如全局对象名以 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

例中各名称具有不同的前缀、后缀以及不同的单词连接方式是不符合要求的。

相关

ID_inconsistentStyle ID_badName ID_macro_badName ID_nameTooShort ID_reservedName

参考

CWE-1099 C++ Core Guidelines NL.8 C++ Core Guidelines NL.10
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.