匈牙利命名法的那些破事~~

来源:互联网 发布:淘宝卖家体验中心 编辑:程序博客网 时间:2024/05/17 07:19

匈牙利命名法,是编程时候的一种命名规范,基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则,所以保证名字的连贯性是非常重要的。与此相对应的常见的命名规则还有驼峰命名法,帕斯卡命名法等,具体规则不再啰嗦了,想必编程的孩子们都懂得~

今天在看《代码重构》的时候,在命名指导原则的时候,有一条:避免使用匈牙利命名法。原因是:现代的工具已经不再使用这种技术,应该坚持使用易于朗读和记忆的名称。回想当年写代码的时候,还专门对匈牙利命名法做过研究,所以直到现在我的代码里还有很多btnSearch,strMsg,iCount等等的变量名称,试问一句,这样写有什么不妥吗??

去度娘Google了一下,对此说法也是见仁见智,支持的说:能清楚的看到变量名称,知道变量类型,变量名称比较一致等;批评的说:让编译器去检查变量类型是多余的,并且一旦变量类型发生更改,如int 变为float,那么原来的iCount是不是要变为fCount,如果不变,则不符合匈牙利命名规范,变则又比较繁琐,尤其是使用较多的情况下,当然有一些自动化的重构工具还是能起到一些帮助的。

其实争来争去,命名规则无非就是:易理解,易记忆,易扩展。易理解:能从变量名称知道该变量所表示的内容及意义,及时没有注释也能清楚理解;易记忆:只要命名规则符合实际业务需求,基本都能很好的记住;易扩展,就是当前变量从一种数据类型变为另一种数据类型,如int 升级为float,float升级为double时,变量不用做相应的改变也能适应当前场景而不会引起歧义。有这些,就足够了~

所以,完全可以在有意义的前提下,适当使用而不是一棒打死,任何事物都有两面性,辩证的去看待,生活更美好。

原创粉丝点击