1.匈牙利法则
- 类名和函数名用大写字母开头的单词组合而成
class Node; // 类名
class LeafNode; // 类名
void Draw(void); // 函数名
void SetValue(int value); // 函数名 变量和参数用小写字母开头的单词组合而成
BOOL flag;
int drawMode;指针变量命名用“p”+变量类型前缀+命名
float * pfImg = NULL;常量全用大写的字母,用下划线分割单词
const int MAX = 100;
const int MAX_LENGTH = 100;静态变量加前缀s_(表示static)
void Init(…) {
static int s_initValue; // 静态变量
…
}- 如果不得已需要全局变量,则使全局变量加前缀g_(表示global)
int g_howManyPeople; // 全局变量
int g_howMuchMoney; // 全局变量 类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名
void Object::SetValue(int width, int height)
{
m_width = width;
m_height = height;
}对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写
enum emEMDAYS
{
EMDAYS_MONDAY;
EMDAYS_TUESDAY;
……
};- 对struct、union变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致
结构一般用S开头,如:
struct ScmNPoint
{
int nX;//点的X位置
int nY; //点的Y位置
};
联合体一般用U开头,如:
union UcmLPoint
{
LONG lX;
LONG lY;
} - 为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头
2.驼峰法
- 小驼峰法
变量一般用小驼峰法标识。小驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myNameLength; - 大驼峰法
类名,函数名,属性,命名空间一般用大驼峰法。相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。
public ClassStudent;