命名规范
C++ 命名规范有助于提高代码可读性、可维护性和团队协作效率。下面是常见的 C++ 命名规范建议,分为多个维度:
类型 | 命名风格 | 示例 |
---|---|---|
变量 | lowerCamelCase |
userName , totalCount |
函数 | lowerCamelCase |
calculateTotal() , printReport() |
类 / 结构体 | UpperCamelCase (PascalCase) |
User , AccountManager |
常量 / 宏定义 | ALL_CAPS_WITH_UNDERSCORES |
MAX_BUFFER_SIZE , PI |
命名空间 | lowercase_with_underscores 或 CamelCase |
network_utils , MyProject |
枚举类型 | UpperCamelCase (类名) + 枚举值 UPPER_CASE 或 kCamelCase |
enum class Color { RED, GREEN }; 或 enum class Color { kRed, kGreen }; |
模板类型参数 | PascalCase |
template<typename T> |
私有成员变量 | m_ 前缀或 _ 后缀 |
m_value 或 value_ |
静态成员变量 | s_ 前缀 |
s_instance |
std
、string
等。 namespace app {
namespace logging {
void logInfo(const std::string&);
}
}
User
, DatabaseConnection
)。loadData()
, sendRequest()
)。User()
和 ~User()
。clntMgr
→ clientManager
enum Color {
COLOR_RED,
COLOR_GREEN,
COLOR_BLUE
};
enum class
,推荐)enum class Color {
Red,
Green,
Blue
};
Color c = Color::Red;
✅ 推荐使用
enum class
来避免命名污染
类型 | 示例 |
---|---|
.h/.hpp 文件 |
user_manager.h , math_utils.hpp |
.cpp 文件 |
user_manager.cpp |
include guard(C++11 前) | #ifndef USER_MANAGER_H |
#pragma once (C++11+,推荐) |
顶部写 #pragma once |
i
, j
等循环计数)dataBuffer
比 buf
更清晰numEmployees
优于 numEmp
可参考主流项目的命名规范,例如:
_
后缀,如 value_
)