




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、匈牙利命名法Mars:全局函数首字母大写,成员函数首字母小写匈牙利命名法是一种编程时的命名标准。大体原那么是:变量名=属性十类型十对象描述,其中每一对象的名称都要求有 明确含义,能够取对象名字全称或名字的一部份。命名要基于容易经历容易明白得的原那么。保证名字的连贯性是超级重 要的。举例来讲,表单的名称为 form ,那么在匈牙利命名法中能够简写为frm ,那么当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard 。如此能够很容易从变量名看出Switchboard是一个表单,一样,若是此变量类型为标签,那么就应命名成IblSwitchboard 。能够看出,匈牙利
2、命名法超级便于经历,而且使变量名超级清楚易懂,如此,增强了代码的 可读性,方便各程序员之间彼此交流代码。这种命名技术是由一名能干的Microsoft程序员查尔斯西蒙尼(Charles Simonyi)提出的,他诞生在匈牙利。在Microsoft公司中和他一路工作的人被教会利用这种约定。这对他们来讲一切都很正常。但对那些Simonyi领导的项目组之外的人来讲却感到很独特,他们以为这是古板的表达方式,乃至说带有如此奇怪的外观是因为它是用匈牙利文写的。从 此这种命名方式就被叫做匈牙利命名法。听说这种命名法是一名叫 Charles Simonyi的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名
3、法就通过微软的各类产品和文档资料向世界传播开了。此刻,大部份程序员不管自己利用 什么软件进行开发,或多或少都利用了这种命名法。这种命名法的起点是把量名变按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名标准,其中也有一些是我个人的偏向:属性部份全局变量g_常量c_c+类成员变量m_静态变量s_类型部份指针p函数fncb : count of bytes ( used for a variable that denotes a byte size) hbr: handle to a brush无效v句柄hlong int : lboo
4、l : b浮点型(有时也指文件)f双字dw字符串sz短整型nnear:n双精度浮点d计数c (通经常使用cnt )character : ch(通经常使用 c)int : i (通经常使用n)byte : byword : w实型 r(real number)unsigned : u描述部份最大Max最小Min初始化:Init临时变量:T (或Temp源对象Src目的对象DestWide character wc那个地址顺便写几个例子:hwnd : h是类型描述,表示句柄,wnd是变量对象描述,表示窗口,因此 hwnd表示窗口句柄;pfnEatApple : pfn是类型描述,表示指向函数的指
5、针,EatApple 是变量对象描述,因此它表示指向EatApple 函数的函数指针变量。g_cch : g_是属性描述,表示全局变量,c和ch别离是计数类型和字符类型,一路表示变量类型,那个地址忽略了对象描述,因此它表示一个对字符进行计数的全局变量。上面确实是HN命名法的一样规那么。小结:匈牙利命名法匈牙利命名法MFC句柄、控件及结构的命名标准Windows类型 样本变量MFC类样本变量HWND hWn d CWnd* pWncHDLG hDlg; CDialog* pDlg ;HDC hDC CDC* pDC;HGDIOBJ hGdiObj; CGdiObject* pGdiObj ;HP
6、EN 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*
7、 pListBox ;HWND hCtl; CComboBox* pComboBoxHWND hCtl; CScrollBar* pScrollBar ;HSZ hszStr ; CString pStr ;POINT pt ; CPoint pt ;SIZE size ; CSize size ;RECT rect ; CRect rect ;一样前缀命名标准前缀类型实例C 类或结构 CDocument, CPrintInfom_ 成员变量 m_pDoc, m_nCustomers变量命名标准 前缀类型描述实例ch char 8 位字符 chGradech TCHAR若是_UNICOD概念,
8、那么为16位字符chNameb BOOL 布尔值 bEnablen int 整型(其大小依托于操作系统)nLengthn UINT 无符号值(其大小依托于操作系统)nHeightw WORD 16位无符号值wPosl LONG 32 位有符号整型lOffsetdw DWORD 32位无符号整型 dwRangep * 指针pDoclp FAR* 远指针 lpszNamelpsz LPSTR 32 位字符串指针 lpszNamelpsz LPCSTR 32 位常量字符串指针 lpszNamelpsz LPCTSTR 若是_UNICOD概念,那么为 32位常量字符串指针lpszName h hand
9、le Windows对象句柄 hWndlpfn callback 指向CALLBAC圈数的远指针前缀符号类型实例范围IDR_ 不同类型的多个资源共享标识IDR_MAIINFRAME 10x6FFFIDD_ 对话框资源 IDD_SPELL_CHECK 10x6FFFHIDD_ 对话框资源的 Help 上下文 HIDD_SPELL_CHECK 0x2000卜 0x26FFIDB_ 位图资源 IDB_COMPANY_LOGO F0x6FFFIDC_ 光标资源 IDC_PENCIL 1 0x6FFFIDI_ 图标资源 IDI_NOTEPAD 1 0x6FFFID_来自菜单项或工具栏的命令 ID_TOO
10、LS_SPELLING 0x80000xDFFFHID_ 命令 Help 上下文 HID_TOOLS_SPELLING 0x18000-0x1DFFFIDP_ 消息框提示 IDP_INVALID_PARTNO 8 0xDEEFHIDP_ 消息框 Help 上下文 HIDP_INVALID_PARTNO 0x300080x3DEFFIDS_ 串资源 IDS_COPYRIGHT 1 0x7EEFIDC_对话框内的控件IDC_RECALC 80xDEEFMicrosoft MFC宏命名标准名称类型_AFXDLL 唯一的动态连接库(Dynamic Link Library , DLL.)版本_ALPH
11、A仅编译DEC Alpha处置器DEBUGS括诊断的调试版本MBCS编译多字节字符集UNICODE在一个应用程序中打开 UnicodeAFXAPI MFC提供的函数CALLBACK®过指针回调的函数库标识符命名法标识符值和含义u ANSI (N)或 Unicode (U)d调试或发行:D =调试;忽略标识符为发行。静态库版本命名标准库描述调试版本:MFCfl态连接库发行版本:MFCfl态连接库调试版本:具有 Unicode支持的MFCfl态连接库发行版本:具有Unicode支持的MFCfl态连接库动态连接库命名标准名称类型_AFXDLL唯一的动态连接库(DLL)版本WINAPI Wi
12、ndows所提供的函数中新的命名标准类型概念描述WINAPI利用在API声明中的FAR PASCALS置,若是正在编写一个具有导出API人口点的DLL,那么能够在自己的 API中利用该类型CALLBAC防U用在应用程序回叫例程,如窗口和对话框进程中的FAR PASCAL勺位置LPCSTR与LPST前目同,只是LPCSTR1于只读串指针,其概念类似( const char FAR* )UINT可移植的无符号整型类型,其大小由主机环境决定(关于 Windows NT和Windows 9x为32位);它是unsigned int 的同义词LRESULT窗口程序返回值的类型LPARAM声明lParam
13、所利用的类型,lParam是窗口程序的第四个参数WPARAM1'明wParam所利用的类型,wParam是窗口程序的第三个参数LPVOID 一样指针类型,与(void * )相同,能够用来代替 LPSTR变量命名命名必需具有必然的实际意义,形式为xAbcFgh,x由变量类型确信,Abc、Fgh表示持续意义字符串,若是持续意义字符串仅两个,可都大写.如OK.具体例程:BOOLL型bEnable;ch*charchTextc*类对象cMain (对象实例)h*Handle (句柄)hWndi*intn*无符号整型p*指针sz,str *字符串wWORDx,y坐标Char或TCHA嗓型与Wi
14、ndows API有直接联系的用szAppName10形式不然用FileName10形式,单个字符也可用小写字母表示;Int类型nCmdShow;LONG®lParam;UINT类型uNotify;DWOR搂型dwStart;PSTR 型pszTip;LPSTR 型lpCmdLineLPTST曲型lpszClassName;LPVOID类型lpReservedWPARA疑型wParam,LPARA赚型lParamHWN类型hDlg;HD屡型hDC;HINSTANC嘤型hInstanceHANDL软型hInstance,HICON 型hIcon;intiTmpfloatfTmpDWOR
15、Ddw*String , AnsiStringstr *m_类成员变量m_nVal, m_bFlagg_全局变量g_nMsg, g_bFlag局部变量中可采纳如下几个通用变量:nTemp nResult , I , J (一样用于循环变量)。其他资源句柄同上,3常量命名和宏概念常量和宏概念必需具有必然的实际意义;常量和宏概念在#include和函数概念之间;常量和宏概念必需全数以大写字母来撰写,中间可依照意义的持续性用下划线连接,每一 条概念的右边必需有一简单的注释,说明其作用;资源名字概念格式:菜单:IDM_XX或 CM_XX位图:IDB_XX对话框:IDD_XX字符串:IDS_XXDLGI
16、NIT:DIALOG_XXICON:IDR_XX,4函数命名函数原型说明包括引用外来函数及内部函数,外部引用必需在右边注明函数来源:模块名及文件名,如是内部函数,只要注释其概念文件名;第一个字母必需利用大写字母,要求用大小写字母组合标准函数命名,必要时可用下划线 距离,例如如下:voidUpdateDB_Tfgd (TRACK_NAME); Name :r01/voidPrintTrackData (TRACK_NAME); Name :r04/voidImportantPoint (void);Name :r01/void ShowChar (int , int , chtype);Modu
17、levoidScrollUp_V (int , int);Module,5结构体命名结构体类型命名必需全数用大写字母,原那么上前面以下划线开始;结构体变量命名必需用大小写字母组合,第一个字母必需利用大写字母,必要时可用下划线距离。关于私有数据区,必需注明其所属的进程。全局数据概念只需注意其用途。例如如下:typedef struct(charcharcharcharunsigned long unsigned longDBS_DATABASE;DBS_DATABASE GdataBase;:st_.6控件的命名:用小写前缀表示类别用小写前缀表示类别:fm窗口cmd按钮cobcombo,下拉式歹
18、U表框txt文本输入框lablabal,标签imgimage,图象picpicturegrdGrid ,网格scr转动条lst列表框frmframszProductName20;szAuthor20;szReleaseDate16;szVersion10;MaxTables;UsedTables;7注释原那么上注释要求利用中文;文件开始注释内容包括:公司名称、版权、作者名称、时刻、模块用途、背景介绍等,复杂的算法需要加上流程说明;函数注释包括:输入、输出、函数描述、流程处置、全局变量、挪用样例等,复杂的函数需要加上变量用途说明;程序中注释包括:修改时刻和作者、方便明白得的注释等;引用一:文件开头的注释模板/*文?件t名?:* Copyright (c) 1998-1999 *公?司?技?术。?开 a发。?6部?* 创?建?§人一?:* 日一?期一2:* *修T改?人一?:* * 日一?期一2:* *描,?述。?:* 版? ?本 a ?:*/引用二:函数开头的注释模板/*函数名:* 输入:a,b,c*b*c-出:xx为1, 表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《餐饮服务与管理》课件-教学课件:仪容仪表仪态
- 2025钢筋买卖合同模板
- 2025宜昌市房屋租赁合同样本
- 2025广告代理合同模板
- 2025届高三押题信息卷(一)物理及答案
- 《认识公顷》教学设计
- 原发性食管恶性淋巴瘤的临床护理
- 白瓷娃娃美容的临床护理
- 2025防腐施工承包合同书
- 2025标准抵押借款合同
- 传统园林技艺智慧树知到期末考试答案2024年
- 直播中的礼仪与形象塑造
- 2024年八年级数学下册期中检测卷【含答案】
- 老年人中医健康知识讲座总结
- 海南声茂羊和禽类半自动屠宰场项目环评报告
- 跳绳市场调研报告
- 《民法典》合同编通则及司法解释培训课件
- 《大学生的情绪》课件
- 交通事故法律处理与索赔案例分析与实践指导
- 2023年河北高中学业水平考试物理试卷真题及答案详解
- 大学生组织管理能力大赛题库第三届
评论
0/150
提交评论