C/C++中,骆驼和匈牙利c 特性到底有什么用哪个好

4395人阅读
C/C++(106)
转自:http://chenuaizhang2008./blog/static//
& & & &C++以及MFC的命名规则基本上是符合匈牙利命名法的,匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象 的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。  
& & & 举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为 Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变 量类型为标签,那么就应命名成lblSwitchboard。可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读 性,方便各程序员之间相互交流代码。  
& & & 这种命名技术是由一位能干的Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利。在 Microsoft 公司中和他一起工作的人被教会使用这种约定。这对他们来说一切都很正常。但对那些 Simonyi 领导的项目组之外的人来说却感到很奇特,他们认为这是死板的表达方式,甚至说带有这样奇怪的外观是因为它是用匈牙利文写的。从此这种命名方式就被叫做匈牙 利命名法。&
& & & 据说这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是&这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用&什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把量名变按:属性+类型&+对象 描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN(Hungarian Notation)变量命名规范,其中也有一些是我个人的偏向:&
c++类成员变量&
浮点型(有时也指文件)&
sz (String Zero 以零结尾的字符串)
双精度浮点&
c(通常用cnt)&
ch(通常用c)&
i(通常用n)&
T(或Temp)&
这里顺便写几个例子:&
hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;&
pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示&
指向 EatApple 函数的函数指针变量。&
g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类&
型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。&
上面就是HN命名法的一般规则。&
匈牙利命名法
MFC、句柄、控件及结构的命名规范
Windows类型
CGdiObject*
pPalette;
pListBox;
CComboBox*
pComboBox;
CScrollBar*
pScrollBar;
一般前缀命名规范
CDocument,CPrintInfo
m_pDoc,m_nCustomers
变量命名规范
如果_UNICODE定义,则为16位字符
布尔值
整型(其大小依赖于操作系统)
无符号值(其大小依赖于操作系统)
16位无符号值
32位有符号整型
32位无符号整型
32位字符串指针
32位常量字符串指针
如果_UNICODE定义,则为32位常量字符串指针
Windows对象句柄
指向CALLBACK函数的远指针
不同类型的多个资源共享标识
IDR_MAIINFRAME
对话框资源
IDD_SPELL_CHECK
对话框资源的Help上下文
HIDD_SPELL_CHECK
IDB_COMPANY_LOGO
IDC_PENCIL
IDI_NOTEPAD
来自菜单项或工具栏的命令
ID_TOOLS_SPELLING
0x8000~0xDFFF
命令Help上下文
HID_TOOLS_SPELLING
消息框提示
IDP_INVALID_PARTNO
消息框Help上下文
HIDP_INVALID_PARTNO
IDS_COPYRIGHT
对话框内的控件
IDC_RECALC
在16位操作系统中
近指针是16位的指针,它只表示段内的偏移地址,因而只能对64k字节数据段内地址进行存取。
如 char near *p;  p=(char near *)0  
远指针是32位指针,它表示段地址:偏移地址,如定义远程指针p指向B500段的2号地址,即B500:0002,则可写作:  char far *p;  p=(char far *)0xB5000002;  因此,远指针可以进行跨段寻址,可以访问整个内存的地址。
在32位操作系统中,两种指针同义,均为32位。
Microsoft MFC宏命名规范
唯一的动态连接库(Dynamic Link Library,DLL)版本
仅编译DEC Alpha处理器
包括诊断的调试版本
编译多字节字符集
在一个应用程序中打开Unicode
MFC提供的函数
通过指针回调的函数
库标识符命名法
值和含义
ANSI(N)或Unicode(U)
调试或发行:D = 调试;忽略标识符为发行。
静态库版本命名规范
NAFXCWD.LIB
调试版本:MFC静态连接库
NAFXCW.LIB
发行版本:MFC静态连接库
UAFXCWD.LIB
调试版本:具有Unicode支持的MFC静态连接库
UAFXCW.LIB
发行版本:具有Unicode支持的MFC静态连接库
动态连接库命名规范
唯一的动态连接库(DLL)版本
Windows所提供的函数
Windows.h中新的命名规范
使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型
使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置
与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)
可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词
窗口程序返回值的类型
声明lParam所使用的类型,lParam是窗口程序的第四个参数
声明wParam所使用的类型,wParam是窗口程序的第三个参数
一般指针类型,与(void *)相同,可以用来代替LPSTR
转自:/view/1165629.htm?fromId=1985375
骆驼式命名法(又称驼峰命名法),正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
printEmployeePaychecks();
print_employee_paychecks();
第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。
骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得相当多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。
骆驼式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。
骆驼式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的《Programming
Perl》(O'Reilly 出版)的封面图片正是一匹骆驼。
骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentC
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于,函数名,属性,命名空间。譬如
publicclass DataBaseU
代码书写注意:
格式
在OO中,在声明函数时,用v+n的格式,就是说动词+名词的形式.
比如:排序的函数,列出学生的函数,listStudent
其实还有个不成文的规范:private的,动词首字母小写;public的,动词首字母大写
单行注释有两种形式:
1、需要注释行代码的末尾,一般与代码间用一个tab分割,这种情况一般用于说明一行代码的作用,或者是某些特殊的说明。例如:STUDENT stS//学生结构体变量
2、需要注释代码行的下一行,一般在注释之前也要空一行,这种情况一般用在一段代码前的注释,或是对分支含义进行注释。
//如果条件A成立,退出
多行注释有两种情况:
1、存在逻辑关联的多行连续的代码注释,写法如下:
2、用于对完成同一个目的大段代码的注释,最典型的就是代码的开头说明注释,注释的方式如下:
/********************************************************************************
//Class&Name&&&&&&&&:&CUtility
//Description&&&&&&&:&Common&Tool
//Language&&&&&&&&&&:&c++
//OS&Platform&&&&&&&:&unix&linux
//Author&&&&&&&&&&&&:&silent()
//Version&&&&&&&&&&&:&1.0
//Copyright&&&&&&&&&:&2008&-&Genius,&All&Rights&Reserved.
//Revision&Histroy&&:&Mender (YYYY-MM-DD)
&&&&&&&&&&&&&&&&&&&&&&silent
&&&&&&&&&&&&&&&&&&&&&&silent
Add GetEnv
&&&&&&&&&&&&&&&&&&&&&&silent
Modify GetEnv
********************************************************************************/
较长的语句应该分行,应为原来屏幕的分辨率的问题,传统要求80个字符必须分行,现在具体多长,标准是:能够清晰看清语义为标准。
sprintf(szTemp, &%04d%02d%02d%02d%02d%02d&,
ltm-&tm_year + 1900,
ltm-&tm_mon + 1,
ltm-&tm_mday,
ltm-&tm_hour,
ltm-&tm_min, ltm-&tm_sec);
注意缩进,依然是tab键
运算符书写
有个简单标准:非一元运算符两边应该有个空格,例如:int&i&=&10&+&4;
注意,++、--、+=、-=......等两个符号中间不要空格
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:347209次
积分:4009
积分:4009
排名:第6163名
原创:15篇
转载:262篇
评论:64条
(1)(3)(1)(2)(4)(1)(6)(9)(1)(2)(2)(2)(2)(1)(15)(13)(3)(4)(7)(9)(11)(12)(11)(6)(8)(19)(30)(5)(2)(12)(19)(14)(41)c语言和c++和VB有什么区别
c语言和c++和VB有什么区别
  是国际上非常流行的一种中级编程语言,以其灵活、高效等优点而获得广泛应用,那么C语言与VB有什么区别呢?下面是YJBYS小编整理的相关内容,欢迎阅读!
  VisualBasic是一种可视化的面向对象的编程语言,以其编程简单、快捷等特点,深受广大WINDOWS程序员的青睐。
  优点:利用VB开发界面友好、操作方便的软件只需很短的时间。
  缺点:VB运行速度较慢
  C语言是国际上非常流行的一种中级编程语言,以其灵活、高效等优点而获得广泛应用,许多的应用程序都是用C语言在DOS环境下编写而成。
  其优点就是vb的缺点:速度比vb快
  缺点:可视化不如vb
  C语言与C++的区别有很多:
  1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。
  2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
  3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
  4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。
  4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
  5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
  6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
  7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
  8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
  9,调试功能强大,并且方法多样。
  相关阅读》》C语言初学者编程规范&命名规则
  1) 骆驼命名法
  混合使用大小写字母来构成变量和函数的名字。
  例如,骆驼命名法printEmployeePaychecks(),下划线命名法print_employee_paychecks()。
  骆驼命名法在许多新的函数库和Microsoft Windows这样的环境中使用的多。另一方面,下划线命名法是C出现后开始流行起来的,在许多旧的程序和UNIX环境中,使用非常普遍。
  2) 匈牙利命名法
  这种命名法是一位叫 Charles Simonyi的匈牙利程序员发明的,在微软工作,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,使程序员看到变量时对变量的类型和其属性有直观的了解。
  基本原则:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则,要保证名字的连贯性。
  例如,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为 frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单。同样,如果此变量类型为标签,那么就应命名成 lblSwitchboard。可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。
  3) 帕斯卡命名法
  帕斯卡命名法指当变量名和函式名称是由二个或二个以上单字连结在一起,而构成的唯一识别字时,用以增加变量和函式的可读性。
  命名规则:单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。每一个单字的首字母都采用大写字母的命名格式,被称为&Pascal命名法&,源自于Pascal语言的命名惯例,也有人称之为&大驼峰式命名法&(Upper Camel Case),为驼峰式大小写的子集。
下页更精彩:1
本文已影响人
c语言和c++和VB有什么区别相关推荐
[c语言和c++和VB有什么区别]网友评论
<div class="ds-thread" data-thread-key="321018" data-title="c语言和c++和VB有什么区别" data-image="">【成都C/C++招聘】中软国际招聘C/C++-看准网
必备技能要求(必备项):1、 具备成熟的C++开发经验 2、 精通设计模式,能够承担大型项目框架设计3、 有海量数据处理经验,精通多线程编程4、 有丰富的代码重构及优化经验5、 精通泛型编程,Windows动态链接库编程6、 精通STL,熟悉内部实现方式7、 熟练掌握Windows内核原理8、 熟悉敏捷开发流程 优选技能要求(加分项)1、 有独立进行需求分析、需求分解、需求澄清经验者优先2、 具备通信、电子类相关专业背景知识3、 熟悉无线通信业务以及GSM/UMTS/LTE业务4、 有华为项目开发经验5、 一定的领导能力,可带领1-3名新员工开展工作
【公司简介】中软国际成立于2000年,为香港主板上市公司,股票代码354。中软国际是中国大型综合性软件与信息服务企业,提供从咨询、技术、外包到培训的&端到端&软件及信息服务,涉及政府与制造、金融服务与银行、电信与高科技等主要信息技术垂直行业,服务遍布全球包括中国大陆地区、香港地区、美国普林斯顿和西雅图,英国伦敦,日本东京在内的25个城市,员工12000人。中软国际有限公司是根植中国、服务全球的IT服务提供商,致力于为遍及全球的客户提供全面的服务,打造中国智造综合平台。集团业务涵盖以咨询为驱动的解决方案、以专业化为准则的ITO和BPO外包服务和以人才供链为导向的培训服务,包括咨询服务、软件开发、系统集成、软件测试、软件本地化、企业应用平台建设与维护、IT服务外包以及业务流程外包。【中软国际西安科技园简介】中软国际华为公司 强强联手助推西安软件国际化-中软国际科技服务有限公司正式挂牌成立: 西安新闻网-西安晚报讯&日,&全球外包100强&、中国软件业的领袖企业、香港主板上市企业中软国际有限公司与全球领先的信息与通信解决方案供应商华为技术有限公司,在西安高新区合资成立了中软国际科技服务有限公司。这是西安参与最大的软件合资项目,两强联手旨在打造信息产业巨头。西安市委常委、高新区党工委书记、管委会主任赵红专,中软国际董事会主席兼首席执行官陈宇红,华为公司高级副总裁丁耘等相关领导出席签约仪式。该项目注册资本1亿元,项目全部建成投产后,预计三年内营业收入将达36亿元人民币,带动就业3万人左右。这对扩大陕西省、西安市软件服务外包产业影响力,促进全国服务外包产业格局的形成,提升中国软件服务外包产业的国际竞争力都具有重要意义。 中软国际与西安高新技术产业开发管理委员会就中软国际万人基地落户西安高新区软件新城项目举行签约仪式。中软国际万人基地将建设&一个园区,三个基地&,在主要新一代信息网络技术领域的研发上聚集人才,抢占先机。&一个园区&是中软国际西安科技园,&三个基地&分别是围绕云计算、中间件平台产品、移动互联网、物联网等新技术的研发的研发基地、围绕ITO&和&BPO&提供战略管理外包、战略客户离岸研发中心、数据中心、服务共享中心等提交服务的提交基地,以及提供定制培训、认证培训、项目实训、企业员工培训等培训功能的培训基地。中软国际西北总部也将坐落于此,全面负责中软国际在西北地区的业务和市场开拓。
该公司其他工作机会
Duang~我要涨薪!
匿名填写收入情况,立刻获取涨薪20%的机会
来自776个员工
离职员工 -
说下个人的感受吧,我所在的项目组,1.管理不好,2.福利没有,3.没有任何培训;想成长只能自己去干,...
不愿意推荐朋友
不支持总经理
公司发展持平
面试难度系数
来自1988个员工
匿名用户&&&&面试中软国际的&-&&西安
面试经历:
今年6月接到中软HR电话,询问有无换工作意向,答曰:有。随即通知三日后参加面试。当时处于新项目急需人...
感觉靠谱面试整体感受:很好有难度
面试通关必备
最新面试题等你来看
看了该职位的人还看了
京宝融信息
多贝公开课
免费发布职位/提升职位曝光
看准网()为您免费提供中软国际相关信息,包括中软国际招聘、工资、面试、评价及员工、工作环境照片,以上信息均由中软国际员工匿名提交,看准网整理发布,所有中软国际相关内容均不代表看准网意见!
获取职位最新招聘信息
一有该职位最新招聘信息马上通知您
陶劲草正在直聘
中软国际·招聘专员
我在boss直聘等你来沟通入职。
500万人安装扫一扫,下载APP
附件简历:
请上传简历!
附件简历:}

我要回帖

更多关于 c 骆驼命名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信