Java编程:我们还需要匈牙利命名法吗

      计算机与编程 2008-7-8 16:50:00

我做过大量的Java编程工作,但一直是在Servlet和JSP方面,因此我完全没有必要从事Swing GUI编程。对此我一直感到好奇,想了解更多情况;因此,最近我开始阅读Herbert Schildt所写的《Swing:初学者指南》一书。

我还没有读完这本书,不过觉得它非常棒,是我读过的这方面最好的书籍。在技术方面,这本书完全没有毛病。问题在于,在他的所有代码实例中,他总是为Swing组件使用各种匈牙利命名法。

JLabel jlabBass;
JSlider jsldrBass;

实际上,我已经有一段时间没有见过匈牙利命名法了,我想主要是因为许多程序员都有点懒惰(我特别是这样)。总要记得给变量名增加一个适当的前缀,这做起来有些乏味。

如今对你们这些年轻的程序员来说,匈牙利命名法出自微软,基本上是一些在你的所有变量前建立一个前缀的规则。这个前缀会说明那个变量的类型。其好处在于,通过它们的前缀,你可以方便地知道两个变量是否兼容。

随着计算机的速度越来越快,IDE已拥有足够的能力,可以开始实时探测变量的类型。因此,当你编程时,IDE能够向你警告类型不兼容的情况(通常普遍使用微软Word自动拼写检查中的红色弯曲下划线)。

这引出了我的问题:在智能输入IDE领域,我们还有必要使用匈牙利命名法吗?我可能会写出以下这些变量:

JLabel BassLabel;
JSlider BassSlider;

另一方面,我确实看到一贯使用匈牙利命名法的好处。我认为这种方法对于将要打印出来的代码会有好处,如Schildt书籍中的代码。在书面形式中,匈牙利命名法提高了代码的可读性。

那么,你认为我们仍然有必要使用匈牙利命名法吗?你在工作时使用匈牙利命名法吗?

标签集:TAGS:
回复Comments() 点击Count()
喜欢就顶一下

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}