微软代码风格:匈牙利符号表示法

如果你有一个大型项目,那么应该提出一个编写代码的标准方式,否则他会混乱不堪。

微软使用一个名为匈牙利编码规范,他使用在微软任何产品内,如果你要使用微软的API,或者你也需要一套类似的编码规范,那么学习一下总是没有错的。

匈牙利符号表示法包括下列命名约定:

  • 变量
  • 函数
  • 类型和常量
  • 参数
匈牙利符号表示法使用的前缀代码
前缀 数据类型(基础类型)
c char(字符)
by BYTE(字节,无符号字符)
n short(短整数和整数,表示一个数)
i int(整数)
x,y short(短整数,通常用于x坐标和y坐标)
cx,cy short(短整数,通常用于表示x和y的长度;c表示计数)
b

BOOL(int)

w UINT(无符号整数)和WORD(无符号字)
l LONG(长整型)
dw DWORD(无符号长整型)
fn 函数指针
s 字符串
sz,str 以一个字节为0(空值)终止的字符串
lp 32位长指针
h 句柄(常用于windows对象)

msg                                                        消息

变量的命名

每一个单词开头大写,全局变量均已g_开头。

char *szYouName; //字符串
int *lpiData; //32位int指针

//全局变量均已g_开头
int g_ixPos;  //全局int变量
char *g_szStr; //全局字符串

 

函数的命名

函数命名与变量命名方式相同,但是没有前缀。

int PlotPixel(int ix,int iy,int ic); 
void *MemScan(char *szString);

类型和常量的命名

所有类型和常量都是大写字母,名字中可以有下划线。

const LONG MUN_SECTORS = 100;
#define MAX_CELLS 64;
typedef unsigned char UCHAR;

类的命名

规定所有c++类必须以大写C为前缀,类名第一个字母大写。

class CVector
{
    public:
    CVector(){}
    .
    .
    .

    private:
    int ix,iy,iz;
}

猜你喜欢

转载自blog.csdn.net/nullccc/article/details/81175669