资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
c 语言变量命名规则_较多较乱.txt3 努力奋斗,天空依旧美丽,梦想仍然纯真,放飞自我, 勇敢地飞翔于梦想的天空,相信自己一定做得更好。4 苦忆旧伤泪自落,欣望梦愿笑开颜。 5 懦弱的人害怕孤独,理智的人懂得享受孤独变量命名规则-匈牙利命名规则!几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名 方法,这种方法后来称为“匈牙利表示法“以记念他.他的思想是根据每个标识符所代表的含义 给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此, 整型变量的前缀是 n,长整型变量是 nl,字符型数组变量是 ca,以及字符串(以空类型结尾的 字符数组)以 sz 为前缀.这些名字可能会非常古怪.比如说:lpszFoo 表示“Foo“是一个指向以 空字符为结尾的字符串的长整型指针.这种方法的优点是使人能够通过变量的名字来辨别变量的类型,而不比去查找它的定义.遗憾 的是,这种方法不仅使变量名字非常绕口,而且使改变变量类型的工作变得十分艰巨.在 Windows3.1 中,整型变量为 16 为宽.如果我们在开始时采用了一个整型变量,但是在通过 30- -40 个函数的计算之后,发现采用整型变量宽度不够,这时我们不仅要改变这个变量的类型, 而且要改变这个变量在这 30-40 个函数中的名字.因为不切实际,除了一些顽固的 Windows 程序员外已经没有人再使用“匈牙利表示法“了.毫无 疑问,在某种场合它依然存在,但大部分人现在已经抛弃它了.一般而言,输入前缀是一种糟糕 的想法,因为它把变量于其类型紧紧地绑在了一起.对于 30 行以下的函数,匈牙利方法一般有优势。尤其是对界面编程,有优势。但对于有强烈的算法要求、尤其是有很多抽象类型的 C+程序,匈牙利方法简直是一个灾难。看你用在什么地方。现在有了很好的 IDE 工具,如:VC,SourceInsight 等.选中变量,会自动提示告诉你它的声明和定义,这样匈牙利命名法就没有很大的必要了.无非就是为了程序可读性较好.实际上良好的代码书写习惯比强制使用匈牙利命名法更重要.系统性。整体性。可读性。分类要清楚。要有注释!匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的 命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理 解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推 广给了全世界的 Windows 开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守 它和上面的代码风格。还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为 一个现代的软件开发人员都去遵守它。a Array 数组b BOOL (int) 布尔(整数)by Unsigned Char (Byte) 无符号字符(字节)c Char 字符(字节)cb Count of bytes 字节数cr Color reference value 颜色(参考)值cx Count of x (Short) x 的集合(短整数)dw DWORD (unsigned long) 双字(无符号长整数)f Flags (usually multiple bit values) 标志(一般是有多位的数值)fn Function 函数g_ global 全局的h Handle 句柄i Integer 整数l Long 长整数lp Long pointer 长指针m_ Data member of a class 一个类的数据成员n Short int 短整数p Pointer 指针s String 字符串sz Zero terminated String 以 0 结尾的字符串tm Text metric 文本规则u Unsigned int 无符号整数ul Unsigned long (ULONG) 无符号长整数w WORD (unsigned short) 无符号短整数x,y x, y coordinates (short) 坐标值/短整数v void 空有关项目的全局变量用 g_开始,类成员变量用 m_,局部变量若函数较大则可考虑用 l_用以 显示说明其是局部变量。前缀 类型 例子g_ 全局变量 g_ServersC 类或者结构体 CDocument,CPrintInfom_ 成员变量 m_pDoc,m_nCustomersVC 常用前缀列表:前缀 类型 描述 例子ch char 8 位字符 chGradech TCHAR 16 位 UNICODE 类型字符 chNameb BOOL 布尔变量 bEnabledn int 整型(其大小由操作系统决定) nLengthn UINT 无符号整型(其大小由操作系统决定) nLengthw WORD 16 位无符号整型 wPosl LONG 32 位有符号整型 lOffsetdw DWORD 32 位无符号整型 dwRangep * Ambient memory model pointer 内存模块指针,指针变量 pDoclp FAR* 长指针 lpDoclpsz LPSTR 32 位字符串指针 lpszNamelpsz LPCSTR 32 位常量字符串指针 lpszNamelpsz LPCTSTR 32 位 UNICODE 类型常量指针 lpszNameh handle Windows 对象句柄 hWndlpfn (*fn)() 回调函数指针 Callback Far pointer to CALLBACK function lpfnAbortWindows 对象名称缩写: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 hPalette; CPalette* pPalette; HRGN hRgn; CRgn* pRgn; HMENU hMenu; CMenu* pMenu; HWND hCtl; CStatic* pStatic; HWND hCtl; CButton* pBtn;HWND hCtl; CEdit* pEdit; HWND hCtl; CListBox* pListBox;HWND hCtl; CComboBox* pComboBox;VC 常用宏定义命名列表:前缀 符号类型 符号例子 范围IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 10x6FFFIDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1 0x6FFFHIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x200010x26FFIDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 10x6FFFIDC_ 光标资源(Cursor) IDC_PENCIL 10x6FFFIDI_ 图标资源(Icon) IDI_NOTEPAD 10x6FFFID_、IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x80000xDFFFHID_ 命令上下文帮助 HID_TOOLS_SPELLING 0x180000x1DFFFIDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 80xDFFFHIDP_ 消息框上下文帮助 HIDP_INVALID_PARTNO 0x300080x3DFFFIDS_ 字符串资源(String) IDS_COPYRIGHT 10x7FFFIDC_ 对话框内的控制资源 IDC_RECALC 80xDFFFMicrosoft MFC 宏命名规范 名称 类型_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本_ALPHA 仅编译 DEC Alpha 处理器_DEBUG
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号