匈牙利命名法探讨

来源:互联网 发布:红黄蓝幼儿园 知乎 编辑:程序博客网 时间:2024/06/06 16:38

匈牙利命名法介绍

匈牙利命名法是计算机程序设计中的一种命名规则,由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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 感冒嗓子疼怎么办最简单的方法 和老婆离婚了我的心好痛怎么办 4s店不给退定金怎么办 教你闪腰了后该怎么办 coolpad酷派手机开不了机怎么办 苹果5s黑屏开不了机怎么办 苹果4s的屏坏了怎么办 苹果6手机充电口接触不良怎么办 5s用久了卡顿怎么办 孕妇血糖高怎么办什么方法降最好 脚砸了肿了紫了怎么办 我想在淘宝上卖东西该怎么办 苹果手机4s开不了机怎么办 冒险岛s前出2条怎么办 狗狗又吐又拉血怎么办 小孩上网成瘾怎么办父母要怎么做 一只眼睛大一只眼睛小怎么办 带近视镜时间长了眼睛变形怎么办 联通卡2g换4g卡怎么办 上火牙疼怎么办教你立刻止疼 吃热的凉的牙疼怎么办 我买的股票退市了怎么办 如果起诉离婚另一方不出庭怎么办 10个月宝宝还没长牙怎么办 超敏c反应蛋白>5怎么办 怀孕才两个月肚子就大了怎么办 腰椎间盘突出腿疼厉害怎么办 打了促排卵针不排卵怎么办 孕34周隐血1十是怎么办 窦性心动过缓伴不齐怎么办 09年买的万科b怎么办 苹果5s手机打不开机怎么办 剖腹产后一年半后意外怀孕怎么办 考驾照挂了5次了怎么办 怀孕咳嗽一个月了好不了怎么办 孕妇餐后2小时血糖高怎么办 我想开网店但我不懂该怎么办 新开的淘宝店没生意怎么办 做肝胆b超喝了水怎么办 红米1s刷机失败怎么办 红米3x手机太卡怎么办