目录
- 总结
- 1. 类名(Class Names)
- 2. 变量名(Variable Names)
- 3. 函数名(Function Names)
- 4. 宏定义(Macros)
- 5. 命名空间(Namespaces)
- 6. 枚举(Enums)和枚举值(Enum Values)
- 7. 文件名(File Names)
- 8. 模板参数(Template Parameters)
- 9. 其他注意事项
总结
总结
类名:大驼峰法(PascalCase)。
变量/函数名:小驼峰法(camelCase)。
全局常量:使用全大写字母加下划线分隔(SNAKE_CASE)。
常量/宏:全大写加下划线(SNAKE_CASE)。
静态成员变量:可加前缀s_或后缀_(团队约定)
命名空间/文件:全小写,可加下划线
。
在C++编程中,良好的命名规则对于代码的可读性、可维护性和团队协作至关重要。以下是C++中常见的命名规则和最佳实践,按不同标识符类型分类说明:
1. 类名(Class Names)
规则:使用大驼峰命名法(PascalCase),即每个单词的首字母大写,无下划线。
class StudentRecord;
class BankAccountManager;
理由:类名通常代表抽象概念,大驼峰法能清晰区分类与其他标识符。
2. 变量名(Variable Names)
规则:使用小驼峰命名法(camelCase),即首字母小写,后续单词首字母大写。
int studentCount;
double averageScore;
全局常量:使用全大写字母加下划线分隔(SNAKE_CASE)。
const int MAX_STUDENTS = 100;
静态成员变量:可加前缀s_或后缀_(团队约定)。
class Example {static int s_counter; // 或 static int counter_;
};
3. 函数名(Function Names)
规则:使用小驼峰命名法,动词开头描述行为。
void calculateAverage();
bool isValidInput(const std::string& input);
理由:函数名应明确表达其功能,动词开头有助于理解。
4. 宏定义(Macros)
规则:使用全大写字母加下划线分隔(SNAKE_CASE),并避免与现有标识符冲突。
#define PI 3.14159
#define MAX_BUFFER_SIZE 1024
注意:C++中推荐使用constexpr替代宏定义常量。
5. 命名空间(Namespaces)
规则:使用全小写字母,可加下划线分隔(团队约定)。
namespace company_name {
namespace project_name {
// ...
}
}
理由:避免与类名冲突,保持简洁。
6. 枚举(Enums)和枚举值(Enum Values)
规则:
枚举类型名:使用大驼峰法。
枚举值:使用全大写字母加下划线分隔。
enum class Color { RED, GREEN, BLUE }; // C++11风格
enum ErrorCode { SUCCESS = 0, FILE_NOT_FOUND = 1 };
7. 文件名(File Names)
规则:使用全小写字母,可加下划线或连字符(根据团队约定)。
示例:
student_record.h(头文件)
student_record.cpp(源文件)
理由:保持与类名或模块名的一致性。
8. 模板参数(Template Parameters)
规则:使用大写字母(通常为单字母或简短名称)。
示例:
template <typename T, size_t N>
class Array { /* ... */ };
9. 其他注意事项
避免缩写:除非是广泛认可的缩写(如HTTP、IO)。
一致性:团队内统一命名风格(如是否使用匈牙利命名法)。
描述性:名称应准确反映用途,避免temp、data等模糊名称。
避免保留字:不要使用C++关键字(如class、new)作为标识符。