科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件匈牙利命名法

匈牙利命名法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

匈牙利命名法,或称匈牙利命名规范是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。

作者:jayson 来源:PHPChina 2007年8月28日

关键字: 匈牙利命名法

  • 评论
  • 分享微博
  • 分享邮件
在thinkqob的一篇日志菜鸟编程十大好习惯》里,第五条里提到了“匈牙利命名法”,那么什么是“匈牙利命名法”呢。Google一番后有了大致的结果。如下所述:
匈牙利命名法,或称匈牙利命名规范是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人查尔斯·西蒙尼(Charles Simonyi) 发起使用的,后来它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。那时大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。
匈牙利命名法的基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变量类型为标签,那么就应命名成lblSwitchboard。可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。
遗憾的是,这种方法不仅使变量名字非常绕口,而且使改变变量类型的作变得十分艰巨。在Windows3.1中,整型变量为16位宽.如果我们在开始时采用了一个整型变量,但是在通过30---40个函数的计算之后,发现采用整型变量宽度不够,这时我们不仅要改变这个变量的类型,而且要改变这个变量在这30--40个函数中的名字。
因为这种方法逐渐变得不切实际,除了一些顽固的Windows程序员外已经没有人再使用“匈牙利命名法”了。现在在某些特定的场合它依然存在,但大部分人已经抛弃它了。对于30行以下的函数,匈牙利命名法一般有优势,尤其是对界面编程来说。但对于有强烈的算法要求、尤其是有很多抽象类型的C++程序,匈牙利命名法简直是一个灾难。
现在有了很好的IDE工具,如:VC,SourceInsight等,选中变量,会自动提示告诉你它的声明和定义,这样匈牙利命名法就显得更没有必要了。
所以说好的方法也要看应用的场合与最终的效果,实际上良好的代码书写习惯比强制使用匈牙利命名法更为重要。

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章