匈牙利命名法Hungarian Notation
匈牙利命名法是一组变量命名规则,适用于各种程序语言。
具体来说匈牙利命名法是通过添加前缀(naming prefix)的方法注明变量的类型(type)和作用范围(scope)。
例如
</div><div><div>
int value; // non-Hungarian
int nValue; // the n prefix denotes an integer
double width; // non-Hungarian
double dWidth; // the d prefix denotes a double
</div>
在原变量名前面添加小写字母n可以帮助我们很直观地判断出该变量是整形变量,而不需要返回变量的定义处查询。
匈牙利命名法不是任何语言的官方规定,但是为了保证程序的可移植性与可读性,通常采用以下三级规则。表格中给出的是适用于C++语言的匈牙利命名规则。
1. 类型
直接添加在首字母大写的变量名前,表明变量基础类型
2. 附属类型
3. 作用范围
添加在变量名最前面,并用“_”隔开
以上给出的只是C++中常用的命名前缀。由于匈牙利命名法并非C++官方标准,当然我们也可以根据自己的需要定义命名规则。
在使用许多现代IDE的编程体验中,匈牙利命名法似乎已经不再具有从前那样的优势。因为在很多IDE中,只要你将鼠标悬停在变量名上,IDE将会自动显示变量类型。
另外,匈牙利命名法使更改变量类型变得更加复杂。例如你想把一个整形的变量‘nHeight’变为浮点型,除了在变量定义处修改,还要将所有的变量名替换为‘fHeight’。
尽管如此,匈牙利命名法还是拥有一些优势:
1. 匈牙利命名法可以让变量名更加简洁。例如我们定义一个记录苹果个数的变量:
用传统命名法: numOfApple
匈牙利命名法: nApple
2. 匈牙利命名法有效标明了变量有效范围
3. 对于习惯于用间接法(implicit assignment)为变量赋值的程序员来说,匈牙利命名法可以帮助他们区分变量名和函数。
参考:
1. http://www.learncpp.com/cpp-tutorial/29-hungarian-notation
2. http://en.wikipedia.org/wiki/Hungarian_notation
匈牙利命名法Hungarian Notation相关推荐
- 【转】匈牙利命名法(Hungarian Notation)
http://www.hudong.com/wiki/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95 匈牙利命名法 匈牙利命名法是一种编程 ...
- 匈牙利命名法(Hungarian Notation)
匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确 含义,可以取对象名字全称或名字的一部分.命名要基于容易记忆容易理解的原则.保证名字的连贯性 ...
- 匈牙利命名法(Hungarian)
匈牙利命名法是电脑程式设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法.原始的匈牙利命名法,现在被称为匈牙利应用命名法,由1972年至1981年在施乐帕洛阿尔托研究中心 ...
- 四种编程命名规则:驼峰命名法,帕斯卡命名法,匈牙利命名法,下划线命名法
人们交流靠各种语言,每行都有每行的所谓的"行话".程序员也不例外,众所周知,程序员都是用代码进行交流的.那么除了在代码中的注释之外, 程序员如何读懂别人的程序呢? 当然,程序员之间 ...
- 骆驼命名法 ,匈牙利命名法 和 帕斯卡命名法
常用命名法:骆驼命名法,匈牙利命名法和帕斯卡命名法 http://xp9802.iteye.com/blog/2111721 骆驼式命令法(Camel): 驼峰法 小驼峰法: 从第个单词开始首字母大写 ...
- 三种编程命名规则:驼峰命名法,帕斯卡命名法,匈牙利命名法
文章目录 驼峰命令法(Camel) 匈牙利命名法(Hungarian) 帕斯卡(Pascal)命名法 命名的基本原则 变量名的命名规则 函数的命名规范 函数参数命名规范 三种流行的命名法则 目前,业界 ...
- [转]三种编程命名规则:驼峰命名法,帕斯卡命名法,匈牙利命名法
三种流行的命名法则 目前,业界共有四种命名法则:驼峰命名法.匈牙利命名法.帕斯卡命名法和下划线命名法,其中前三种是较为流行的命名法. 驼峰命令法(Camel): 也称骆驼式命名法正如它的名称所表示的 ...
- 匈牙利命名法的衰落和建议
首先要说明的是,此文只是一篇关于个人看法的随笔,不是paper.我也无意再次挑起这场旷日持久却已结束的争论. 1.不太久远的历史 匈牙利命名法(Hungarian Notation)最初雏形来自Cha ...
- 我眼中的匈牙利命名法
上个月Linus通过Linux内核邮件列表一怒为注释,要求内核开发者"get rid of thebrain-damaged stupid networking comment syntax ...
最新文章
- 网络爬虫---json编码和解码
- Android Studio 在Ubuntu 下快捷键失效
- 解决IntelliJ无法导入maven包的问题
- mysql5.7只安装服务端_Windows Mysql5.7.11 服务端安装详解
- linux串口并行读取,请教linux串口问题!read读取时buf里只读取到8的倍数?
- 计算机网络流量图阅读与理解,计算机网络流量监控的设计与实现
- 专业App开发:设计App图标的三个关键点
- python网络爬虫学习笔记(十):数据存储
- ImageView的属性android:scaleType
- 一个教务系统多少钱_ERP系统多少钱
- 境外自助游服务平台澳乐网获戈壁千万级投资
- 百度云无限速下载工具:JDownloader 2 for Mac
- JS实现数据库连接并查询
- 虚拟主机怎么搭建网站
- 安迪的第一个字典(c++)
- 文件包含漏洞(原理及介绍)
- python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例
- PTA 练习实验6 十道练习题
- 小白从0学习推荐系统 ---01 推荐系统简介
- 【WPS表格】数据透视表:修改行列字段顺序