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 m_ 成员变量 m_pDoc,m_nCustomers 变量命名规范 前缀 类型 描述 实例 ch char 8位字符 chGrade ch TCHAR 如果_UNICODE定义,则为16位字符 chName b BOOL 布尔值 bEnable n int 整型(其大小依赖于操作系统) nLength n UINT 无符号值(其大小依赖于操作系统) nHeight w WORD 16位无符号值 wPos l LONG 32位有符号整型 lOffset dw DWORD 32位无符号整型 dwRange p * 指针 pDoc lp FAR* 远指针 lpszName lpsz LPSTR 32位字符串指针 lpszName lpsz LPCSTR 32位常量字符串指针 lpszName lpsz LPCTSTR 如果_UNICODE定义,则为32位常量字符串指针 lpszName h handle Windows对象句柄 hWnd lpfn callback 指向CALLBACK函数的远指针 应用程序符号命名规范 前缀 符号类型 实例 范围 IDR_ 不同类型的多个资源共享标识 IDR_MAIINFRAME 1~0x6FFF IDD_ 对话框资源 IDD_SPELL_CHECK 1~0x6FFF HIDD_ 对话框资源的Help上下文 HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源 IDB_COMPANY_LOGO 1~0x6FFF IDC_ 光标资源 IDC_PENCIL 1~0x6FFF IDI_ 图标资源 IDI_NOTEPAD 1~0x6FFF ID_ 来自菜单项或工具栏的命令 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF IDS_ 串资源 IDS_COPYRIGHT 1~0x7EEF IDC_ 对话框内的控件 IDC_RECALC 8~0xDEEF 应用程序符号命名规范 前缀 符号类型 实例 范围 IDR_ 不同类型的多个资源共享标识 IDR_MAIINFRAME 1~0x6FFF IDD_ 对话框资源 IDD_SPELL_CHECK 1~0x6FFF HIDD_ 对话框资源的Help上下文 HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源 IDB_COMPANY_LOGO 1~0x6FFF IDC_ 光标资源 IDC_PENCIL 1~0x6FFF IDI_ 图标资源 IDI_NOTEPAD 1~0x6FFF ID_ 来自菜单项或工具栏的命令 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF IDS_ 串资源 IDS_COPYRIGHT 1~0x7EEF IDC_ 对话框内的控件 IDC_RECALC 8~0xDEEF 应用程序符号命名规范 前缀 符号类型 实例 范围 IDR_ 不同类型的多个资源共享标识 IDR_MAIINFRAME 1~0x6FFF IDD_ 对话框资源 IDD_SPELL_CHECK 1~0x6FFF HIDD_ 对话框资源的Help上下文 HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源 IDB_COMPANY_LOGO 1~0x6FFF IDC_ 光标资源 IDC_PENCIL 1~0x6FFF IDI_ 图标资源 IDI_NOTEPAD 1~0x6FFF ID_ 来自菜单项或工具栏的命令 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF IDS_ 串资源 IDS_COPYRIGHT 1~0x7EEF IDC_ 对话框内的控件 IDC_RECALC 8~0xDEEF 前缀 符号类型 实例 范围 IDR_ 不同类型的多个资源共享标识 IDR_MAIINFRAME 1~0x6FFF IDD_ 对话框资源 IDD_SPELL_CHECK 1~0x6FFF HIDD_ 对话框资源的Help上下文 HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源 IDB_COMPANY_LOGO 1~0x6FFF IDC_ 光标资源 IDC_PENCIL 1~0x6FFF IDI_ 图标资源 IDI_NOTEPAD 1~0x6FFF ID_ 来自菜单项或工具栏的命令 ID_TOOLS_SPELLING 0x8000~0xDFFF HID_ 命令Help上下文 HID_TOOLS_SPELLING 0x18000~0x1DFFF IDP_ 消息框提示 IDP_INVALID_PARTNO 8~0xDEEF HIDP_ 消息框Help上下文 HIDP_INVALID_PARTNO 0x30008~0x3DEFF IDS_ 串资源 IDS_COPYRIGHT 1~0x7EEF IDC_ 对话框内的控件 IDC_RECALC 8~0xDEEF Microsoft MFC宏命名规范 名称 类型 _AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本 _ALPHA 仅编译DEC Alpha处理器 _DEBUG 包括诊断的调试版本 _MBCS 编译多字节字符集 _UNICODE 在一个应用程序中打开Unicode AFXAPI MFC提供的函数 CALLBACK 通过指针回调的函数 库标识符命名法 标识符 值和含义 u ANSI(N)或Unicode(U) d 调试或发行:D = 调试;忽略标识符为发行。 静态库版本命名规范 库 描述 NAFXCWD.LIB 调试版本:MFC静态连接库 NAFXCW.LIB 发行版本:MFC静态连接库 UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库 UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库 动态连接库命名规范 名称 类型 _AFXDLL 唯一的动态连接库(DLL)版本 WINAPI Windows所提供的函数 Windows.h中新的命名规范 类型 定义描述 WINAPI 使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型 CALLBACK 使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置 LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*) UINT 可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词 LRESULT 窗口程序返回值的类型 LPARAM 声明lParam所使用的类型,lParam是窗口程序的第四个参数 WPARAM 声明wParam所使用的类型,wParam是窗口程序的第三个参数 LPVOID 一般指针类型,与(void *)相同,可以用来代替LPSTR 以下来自文档收藏 1.1 构造匈牙利名称一个通常的匈牙利名称由一个或者多个前缀(prefix)、一个基本标识(base tag)和一个修饰符(qualifier)拼接而成。基本标识指示了变量的类型(如"co"代表color),前缀修正该类型(如"rg"表示数组,那么"rgco"就表示颜色数组),修饰符描述了该特定类型的应用(如"rgcoGray"表示用作灰度的颜色数组)。并非所有名字都会使用全部组成元素,前缀往往是不需要的,而当类型的应用是显而易见的时候,比如当代码中只包含一个相关类型时,修饰符也可以省略。 值得提醒的是:许多(也许绝大部分)基本标识和修饰符将是应用程序相关的,因为它们被用于表示应用程序定义的类型和应用。虽然我们已经为一些基本类型定义了标准标识(下面将列出其中一部分),但是在更适于使用抽象类型的场合下使用这些标准标识是错误的。例如,如果一个color恰好是用long来实现的,那么有人可能会用"rgl"来标识一个颜色数组,但是这样将破坏对color的抽象。 当匈牙利命名法用于函数名称时,修饰符通常仅仅标识了函数的动作。有时在基本标识符后添加描述函数参数的匈牙利类型会很有用。当然,函数名的首字母一定要大写。例如"FInitFooFromHwndXY"应当是一个函数的名字,该函数将使用类型为Hwnd,X和Y的参数来初始化一个"foo"结构,并且返回一个Boolean成功代码。这种做法并非强制性的,只有当这样做会让函数名更易于理解才这样做。 1.2 标准基本标识下面的表中给出了基本类型的标准基本标识。如上所述,应用程序将为其内部类型定义许多自己的标识。 f 标志(BOOL)。取值为TRUE或者FALSE。修饰符应当描述何时该标志为TRUE,例如fError表示当错误发生时变量为TRUE。 ch 单字节字符(CHAR)。 sz 以0结尾的CHAR型字符串(经典的C字符串)。有时可以描述字符串的最大长度,如"sz255"表示实际的字符串体可以容纳255个字符,因此必需分配256个字符。 st 带长度前缀的CHAR型字符串。这种字符串长度不超过255个字符,因为其长度必须存放在一个字节中。如同sz一样,可以用"st32"来表示字符串最大长度为32,因此需要分配33个字符空间来存放字符及其长度。 stz 带长度前缀同时也以0结尾的CHAR型字符串。注意如果在名称中描述了长度length,那么至少要分配length+2个CHAR。 chw, wt, wz, wtz ch,sz,st和stz的宽字符(WCHAR)版本。所有最终用户可见的字符串都必须使用宽字符串(UNICODE)。 fn 函数。通常和"p"前缀(见下)连用成为"pfn",因为在C中只能将函数地址存放在变量中。 b 一个BYTE。 w 一个16位的无符号数量值(WORD, SHORT, or USHORT)。 dw 一个32位的无符号双字(DWORD)。 l 一个LONG (有符号32位数量值). u 一个无符号长整型数(ULONG)。在经典的匈牙利命名法中,这代表一个无符号word,在Office中,这代表一个无符号32位数量值,与"dw"相同,但是当类型是数值时更倾向用"u"标识(和ULONG类型)。 v Void类型。总是和"p"连用构成"pv",标识指向未知类型的指针。 sc OLE SCODE hr OLE HRESULT var OLE VARIANT varg OLE VARIANTARG 1.3 标准前缀下面表中给出了用于修饰基本标识类型的标准前缀。可以使用一个或者多个前缀。应用程序有可能(但是可能很罕见)需要定义自己的前缀(典型情况是一个应用程序将只定义基本标识和修饰符)。 p 指针。例如"pch"标识指向一个字符的指针,在经典的微软匈牙利命名法中,"p"代表near pointer,相应地,"lp"和"hp"用于表示long (far) pointer和huge pointer。在32位世界里,这不再是个问题了。 rg 数组(从"range"变来)。例如"rgch"表示字符数组。同C/C++用法一样,这可以是一个分配好的数组的名字,也可以是指向数组的指针的名字。 i 基本类型数组的索引。例如"ich"表示字符数组的索引。 c 基本类型项目的总数。例如"cch"表示字符总数。 n 另一种表示某基本类型项目的总数的前缀(表示"number of"),但是最好用"c"。 d 某基本类型值的差值,例如"dx"表示两个类型为x的值的差。 h 句柄。一个到不能被用户间接访问的某基本类型项目的非透明引用(过去使用此定义是因为对可移动内存块有不同用法)。例如"hwnd"是到窗口("wnd")的句柄,因为句柄不在你的地址空间中,所以不允许你间接访问窗口结构中的域(这样还保持了非透明引用的抽象性)。一个应用程序模块应当引出指向抽象数据类型的句柄(典型地应当定义为void *),这样客户就只能使用此引用而绝对不能看到其中的数据域。然而在C++中,由于可以通过私有数据成员来引出指向类对象的指针,因此这样做已经不那么必要了。 pl 一 “ 从 ”对象(A “plex” of objects)。这是简单数组(”rg”)之外的另一种选择,表示了使用plex抽象以标准方式可变的数组(参见inc/msoalloc.h)。 mp 用于将索引或者其它标量映射到值的数组。此前缀后面要加上索引和值的标识,如"mpchdx"表示将字符值(作为数组索引)映射到该字符对应的dx值上的数组。 V 全局变量,总是第一个前缀。 除此之外,我们还可以在合适的时候添加下面的一些前缀到任何匈牙利命名前缀之前: m_ C++类的数据成员。 s_ C++类的静态数据成员。 Mso 引出的全局函数。 MSO 引出的自定义类型。 mso 引出的全局常量或者全局变量。 1.4 标准修饰符大部分修饰符都按照该名字被使用的场合来定义,但是还是有一些预定义的标准修饰符如下: First 集合中的第一个元素或者第一个感兴趣的元素(如pchFirst)。 Last 集合中的最后一个原始或者最后一个感兴趣的元素(如pchLast)。当用作索引时,Last表示最后一个合法的/期望的值,因此循环可以如下定义: for (ich = ichFirst; ich <= ichLast; ich++) Lim 集合中元素的上限。与Last不同,Lim不表示合法值,Lim是最后一个合法值加1,因此循环可以如下定义: for (ich = ichFirst; ich < ichLim; ich++) Min 集合中的最小元素,类似于First,但是通常表示第一个合法值,而不仅仅是第一个要处理的值。 Max 集合中元素的上限(和Lim一样)。不幸的是,"Max"的正常英语读法通常暗示了最后一个合法值,但是Max修饰符不表示合法值,而是合法值加1。和Lim一样,Max的典型用法如下: for (ich = ichMin; ich < ichMax; ich++) 对Max的使用一定要非常小心。 Mac 类似于Max,但是有时用于 “ 当前 ” 最大值会随着时间而改变的情况下。注意Mac也是最后一个合法值加1。 Mic 类似于Min,但有时用于“ 当前 ” 最小值会随着时间而改变的情况下。 T 临时值。此修饰符可能被作为避免创建新的好名字的一种方法而被滥用,但是有时将其用于声明简单的临时值是适合的,如在经典的swap操作中那样。 TT, T3,等等 在需要更多唯一名字的时候对 T = temporary 约定的进一步滥用。应当完全避免。 Sav 用于保存值的临时值,以便将来恢复。例如: hwndSav = hwnd; ...; hwnd = hwndSav; Null 特定的0值。虽然总是等于0,但是可用于文档化的目的(如hwndNull)。 Nil 特定的非法值,不必要等于0(可能是-1或者任何其它值)。为了避免混淆,最好不要为同一类型同时定义Null和Nil值。 Src 操作源,典型地用法是和Dest配套使用,如: *pchDest = *pchSrc Dest 操作目的,参见Src。 在VB中使用匈牙利命名法的时候情况略微特殊由于VB时不区分大小写的,所以采用有意义的命名规则应该更加有意义。 本文引用通告地址: http://blog.youkuaiyun.com/lionhearter/services/trackbacks/183533.aspx 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 空 以上转载来自:http://seanlee.blogbus.com/logs/2004/12/560998.html
相关推荐
网课、网页视频倍速播放简单脚本
一个简单的网页视频倍速脚本
匈牙利命名法之VB篇
参看《VB 编程标准》第四章 命名约定4.1 变量命名约定所有变量的定义应该遵循匈牙利命名法,使用3个字母前缀来表示数据类型或控件类型,3个字母前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证其他人阅读时对变量名能够进行正确的断句。按照这种方式命名变量,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得程
Buck变换器中EA模块的优化设计与稳定性提升策略
本文深入探讨了Buck变换器中误差放大器(EA)模块的核心作用与优化设计。作为系统的“大脑”,EA模块的性能直接决定了电源的稳定性与动态响应。文章详细分析了EA的电路结构、工作原理,并重点阐述了通过优化增益、带宽和相位裕度来提升系统稳定性的策略,同时提供了实用的设计技巧与仿真验证方法。
这才是真正的“匈牙利命名法”
从刚进大学开始学习 C 语言,就听说了实际开发中会用到的各种变量命名方法,例如常见的匈牙利命名法、骆驼命名法、Pascal 命名法等。 后来自己真正开始用 C/C++ 写程序,开始使用匈牙利命名法,总觉得十分别扭。好好的变量名 name,严格按照命名规则,非得在前面加类型前缀,改写成 lpszName。 如今的 IDE 都会自动检查变量类型,而且类型错误在编译时也比较容易发现,在变量...
遥感卫星影像AI数据集格式规范详解、技术原理与数据生产全流程技术手册
本技术手册旨在系统性地梳理遥感卫星影像AI数据集的各类格式标准(涵盖VOC、COCO、YOLO及遥感专用DOTA格式等),深入剖析其背后的技术原理,并详细阐述数据生产的全过程,涵盖预处理、标注、质量控制及数据增强等关键环节。无论您是刚入门的算法工程师,还是资深的数据生产管理者,本手册都将为您提供详实的参考与指引。
【学习笔记-QGIS】 QGIS从零快速上手
安装文章参考:https://zhuanlan.zhihu.com/p/370633306。
真正的”匈牙利命名法“
本文虽为转载文章,如有错误遗漏之处,欢迎指出,以免害人害己 这才是真正的“匈牙利命名法” 从刚进大学开始学习 C 语言,就听说了实际开发中会用到的各种变量命名方法,例如常见的匈牙利命名法、骆驼命名法、Pascal 命名法等。 后来自己真正开始用 C/C++ 写程序,开始使用匈牙利命名法,总觉得十分别扭。好好的变量名 name,严格按照命名规则,非得在前面加类型前缀,改写成 lpszN
双RTX 3090实战:如何用vLLM低成本部署Qwen2.5-14B大模型(附避坑清单)
本文详细介绍了如何利用双RTX 3090显卡低成本部署Qwen2.5-14B大模型的完整指南,包括硬件选型、环境配置、vLLM优化及生产环境调优。重点解析了BF16混合精度在显存占用与推理质量上的平衡策略,并提供了实用的避坑清单和性能调优技巧,帮助开发者高效实现大模型部署。
匈牙利命名法为何被淘汰_「硬见小百科」二极管和三极管的命名原则
一、 中国半导体器件型号命名方法半导体器件型号由五部分(场效应器件、半导体特殊器件、复合管、PIN型管、激光器件的型号命名只有第三、四、五部分)组成。五个部分意义如下:第一部分:用数字表示半导体器件有效电极数目。2-二极管、3-三极管第二部分:用汉语拼音字母表示半导体器件的材料和极性。表示二极管时:A-N型锗材料、B-P型锗材料、C-N型硅材料、D-P型硅材料。表示三极管时:A-PNP型锗材料、B...
Python学习24:中国古代数学问题——物不知数(Python123)
意思是说有一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;7个7个数也会多出2个。题目为:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?现假设物品总数不超过n (n
HTML粉色爱心(完整代码)
HTML语言实现粉色爱心的完整代码。
驼峰命名法、匈牙利命名法、帕斯卡命名法
刚刚做完机房,发现自己的代码规范不是很好,所以特意学习了一下,给大家分享一下命名法。 个人觉得,命名法的主要功能就是: 1、增加代码的规范性; 2、增加代码的可读性,方便自己的阅读,更加方便后期调试人员的调试工作,方便别人也是方便自己! 命名规范重要吗? 我觉得是非常重要的! 例如: 我们要定义一个“学生姓名” 那么各种各样的命名就都会出现,例如:studentname、stuname、Stu...
手把手教你学simulink实例--基于Simulink的船舶发电柴油机建模与健康状态研究
船舶发电柴油机是现代船舶电力系统的核心设备,为船舶提供稳定的电能供应。然而,由于长期运行在复杂的海洋环境中,船舶发电柴油机容易受到磨损、腐蚀和疲劳等损伤的影响,导致其性能下降甚至发生故障。因此,对船舶发电柴油机进行建模和健康状态监测具有重要意义。本项目旨在使用MATLAB/Simulink平台,建立船舶发电柴油机的动力学模型,并通过仿真分析其健康状态,预测潜在故障,从而提高船舶运行的安全性和经济性。
匈牙利命名法为何被淘汰_被称为手表中“蓝血贵族”的百达翡丽,为何会受到如此的追捧?...
阅读本文前,请您先点击上面蓝色字体,再点击“关注”,这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注。 注:本文转载自网络,不代表本公众号立场,仅供读者参考,著作权属归原创者所有。我们分享此文出于传播更多资讯之目的。如有侵权,请在...
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
【八卦】Word之父即将遨游太空及其他
好不容易在新浪上发现几条有意思的消息。一条消息是说,自己几乎生活不能自理的霍金,居然要上天了。看来太空旅游的市场潜力真是不小。另一条消息是,人称Word之父的Charles Simonyi也要上天了,而且就在今年的4月份。西蒙尼可是一个软件开发史上值得大书特书的人物。他的成就主要有三: 一是在施乐PARC期间与Alan Kay(2003图灵奖得主)等计算机先驱研发的“所见即所得”界面
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
网络中经常出现的术语和缩写都代表什么意思?
SNMP Simple Network Management Protocol 简单网络管理协议。PPP Point to Point Protocol 点到点协议。
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
C语言命名规则
比较著名的命名规则当推Microsoft 公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch 为前缀,若是指针变量则追加前缀p。如果一个变量由ppch 开头,则表明它是指向字符指针的指针。 “匈牙利”法最大的缺点是烦琐,例如 int i, j, k; float x, y,
C/C++读书笔记之三:命名规则
比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。 “匈牙利”法最大的缺点是烦琐,例如 int i, j, k; float x, y, z; 倘若采用“匈牙利”命名规则
高质量C++/C编程指南 -- 第3章 命名规则
第3章 命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。“匈牙利”法最大的缺点是烦琐,例如int i, j, k; float x, y, z;倘若采用“匈牙利”命名规则,
Week4-作业1:阅读与博客
第四章、两人合作 1、原文: 在变量面前加上有意义的前缀,程序员就能一眼看出变量的类型及相应的语义。这就是“匈牙利命名法”的用处。还有一些地方不适合用“匈牙利命名法”,比如,在一些强类型的语言(如C#)中,对类型有严格的要求,不同类型的值是不能做运算的,例如C#中,if()语句只能接受bool值的表达式,这样很大程度上就杜绝了上面的问题。在这类语言中, 前缀就不是很必要,匈牙利命...
软件编程规范
程序编写要结构清晰,简单易懂,不能以编写别人看不懂的程序为荣。程序员编写的程序必须能够被同行看懂,这是对程序员的基本要求。要完成什么需求和什么功能,要简单明了,不要把简单的问题复杂化。按照规范编写程序可以帮助程序员写出高质量的程序,软件编程规范涉及程序的组织规则、运行效率和质量保证、错误和异常处理规范、有关函数定义和调用的原则等。
对C++标准库的类型命名的统一化与规范化——“TypeName.hpp“
对标准库的类型命名的统一化与规范化——"TypeName.hpp"。
[8g]被误解的匈牙利命名法
http://www.laihj.net程序员都认识匈牙利命名法。程序员被教导说匈牙利命名法过时了。它的起源地微软都明确表示不建议使用匈牙利命名法。因为这种命名方法是多余的,只会把事情搞复杂,而没有什么好处。常见的例子是这样的: for(ni = 0 ; ni {}这里面有个变量i,根据匈牙利命名法,需要在前面加一个前缀n,表示这个变量是整型。如果它是长整
计算机二级c语言运行黑框闪退,come on看过来!计算机二级C语言常见问题:风格...
小编所收集到的相关计算机二级C语言常见问题:风格的资料 大家要认真阅读哦!问题列表:1 什么是C 最好的代码布局风格?2 用if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格?3 为什么有的人用if (0 == x) 而不是if (x == 0)?4 原型说明extern int func ((int, int)); 中, 那些多出来的括号和下划线代表了什么?5 为什么有些...
1万+



被折叠的 条评论
为什么被折叠?



