匈牙利命名法探讨

匈牙利命名法介绍

匈牙利命名法是计算机程序设计中的一种命名规则,由1972年至1981年在施乐帕洛阿尔托研究中心工作的程序员查尔斯•西蒙尼发明,此人后来成了微软的总设计师。他的思想是根据每个标识符所代表的含义给它一个前缀。

根据前缀意义的不同,分为系统命名法和应用命名法,如今广为流传的是系统命名法。

  1. 在系统匈牙利命名法中,前缀代表了变量的实际数据类型。
  2. 匈牙利应用命名法不表示实际数据类型,而是给出了变量目的的提示,或者说它代表了什么。

匈牙利命名法的优点

  • 从名字中就可以看出变量的类型
  • 可以使变量名更加一致
  • 决定一个变量名的时候可以更机械化,更快
  • 不合适的类型转换和操作可以在阅读代码的时候被检测出来

匈牙利命名法的缺点

  • 匈牙利命名法在编译器做类型检查时是多余的。
  • 在代码更改后可能造成不一致,如变量的类型更改。
  • 由于变量名和类型捆绑在一起,因此不利于代码的移植。
  • 大多数时候,看到一个变量就意味着知道了它的类型。但是,如果你不知道一个变量是干什么的,知道了它的类型也没什么帮助。

.Net和Java中的命名方式

.NET Framework,微软新的软件开发平台,除了接口类型一般不适用匈牙利命名法。在.NET中,习惯在接口类型前放一个I(例如Windows Forms中的IButtonControl接口。).NET Framework指导方针建议程序员不要用匈牙利命名法,但是没有指明不要用系统匈牙利命名法还是匈牙利应用命名法,或者是两者都不要用。

与此对比,Java的标准库中连接口类型也不加前缀。

命名相关总结

1、在上位机软件的开发中,因为变量类型并非很重要,而且有强大的IDE支持,所以建议直接使用“意义命名法”,即由名知意。下位机开发,尤其是对资源要求非常紧张的下位机,可以使用匈牙利命名法。

2、即使不使用匈牙利命名法,命名风格也必须形象化、风格统一、便于代码阅读。

引用:

匈牙利命名法  http://zh.wikipedia.org/zh/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95

这才是真正的“匈牙利命名法”  http://www.cnblogs.com/xuxn/archive/2012/05/16/real-hungarian-notation.html

相关讨论  http://topic.csdn.net/t/20031215/17/2566367.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值