C++之匈牙利命名法

在编程时,变量、函数的命名是一个极其重要的问题。好的命名方法使变量易于记忆且程序可读性大大提高。Microsoft采用匈牙利命名法来命名Windows API函数和变量。匈牙利命名法是由Microsoft的著名开发人员、Excel的主要设计者查尔斯·西蒙尼在他的博士论文中提出来的,由于西蒙尼的国籍是匈牙利,所以这种命名法叫匈牙利命名法。

    匈牙利命名法为C标识符的命名定义了一种非常标准化的方式,这种命名方式是以两条规则为基础:

    1.标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。

    2.在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词清楚地指出了源代码内那个对象的用途。比如,m_szStudentName表示一个学生名字的类成员变量,数据类型是字符串型。

附录:

MFC、句柄、控件及结构的命名规范
Windows类型 样本变量 MFC类 样本变量
HWND hWnd; CWnd* pWnd;
HDLG hDlg; CDialog* pDlg;
HDC hDC; CDC* pDC;
HGDIOBJ hGdiObj; CGdiObject* pGdiObj;
HPEN hPen; CPen* pPen;
HBRUSH hBrush; CBrush* pBrush;
HFONT  hFont;  CFont* pFont;
HBITMAP  hBitmap; CBitmap* pBitmap;
HPALETTE  hPaltte; CPalette* pPalette;
HRGN  hRgn; CRgn* pRgn;
HMENU  hMenu; CMenu* pMenu;
HWND  hCtl; CState*  pState;
HWND  hCtl; CButton* pButton;
HWND  hCtl; CEdit* pEdit;
HWND  hCtl; CListBox* pListBox;
HWND  hCtl; CComboBox* pComboBox;
HWND  hCtl; CScrollBar* pScrollBar;
HSZ  hszStr; CString  pStr;
POINT  pt; CPoint  pt;
SIZE  size; CSize  size;
RECT  rect; CRect  rect;
一般前缀命名规范 
前缀 类型 实例
C 类或结构 CDocument,CPrintInfo
S 结构体 SAddress
m_ 成员变量 m_pDoc,m_nCustomers
变量命名规范
前缀 类型 描述 实例
c char 8位字符 cGrade
str string 字符型 strName
ch  TCHAR 如果_UNICODE定义,则为16位字符 chName
b BOOL 布尔值 bEnable
n ,i int 整型(其大小依赖于操作系统) nLength
si
short int 短整型 siSequ
UINT  无符号值(其大小依赖于操作系统) nHeight
WORD  16位无符号值 wPos
f float 浮点型 fRadius
d double 双精度型 dArea
LONG  长整型 lOffset
ld long double 长双精度型 ldRate
dw  DWORD  32位无符号整型  dwRange
指针 pDoc
lp  FAR*  远指针  lpszName
lpsz  LPSTR  32位字符串指针 lpszName
lpsz  LPCSTR  32位常量字符串指针 lpszName
lpsz  LPCTSTR  如果_UNICODE定义,则为32位常量字符串指针 lpszName
handle  Windows对象句柄 hWnd
lpfn  callback 指向CALLBACK函数的远指针 

?

if
  输入文件流 ifDataFile
of
  输出文件流 ofStuFile
sz
  以"\0"结束的字符串 szAppName

你可能感兴趣的:(C++之匈牙利命名法)