我们的编程老师教我们在编程时使用匈牙利符号(例如intMyInteger
,strMyString
,...)。
但我听说某个地方实际上并没有在专业领域使用过。这是真的吗?
编辑:我刚发现这实际上是“Leszynski”
答案 0 :(得分:6)
你是对的;匈牙利的记谱是不受欢迎的。
答案 1 :(得分:5)
真。现代IDE,对应用程序的误解,使用问题等等......基本上已经杀了它。这并不意味着你不会在那里发现它,但我会避免使用它并使用骆驼套管和帕斯卡套管。
Microsoft已提出建议on naming standard。他们在.Net Framework中使用它,很多人都遵循这个。
MS也有All-In-One Code Framework site,其中包含文档和示例,以帮助进一步推动这一思想和其他最佳实践(从MS的角度出发)。
答案 2 :(得分:4)
Joel的这篇文章将为您提供有关匈牙利符号的一些有用信息 http://www.joelonsoftware.com/articles/Wrong.html
答案 3 :(得分:1)
我们刚刚在我编程的地方讨论过这个问题。我们的决定是,让名字非常清晰易懂而不是保存几个字符更为重要。
答案 4 :(得分:1)
AFAIK,特别是在Windows下使用它。匈牙利语符号来自软件工程师Charles Simonyi,他当时是微软员工。到现在为止,它主要是废弃,你可以see。在我看来,我同意Stroustroup,因为他说匈牙利表示法的效用仅适用于弱类型语言,但它在OOP语言中令人困惑,并且通常是对抽象的限制。
答案 5 :(得分:0)
当您开发艺术品(我考虑编码艺术品)时,您会发现您将建立自己的命名惯例。 就像一个吉他手采用他/她的英雄的某些风格。
我还没找到任何"官方"命名惯例推荐,非常适合我。
我认为可读性是最重要的主题。
我的个人规则是:
私有变量应以_
开头。
变量应使用缩写匈牙利语样式,例如s
为string
,i
为integer
,b
为boolean
等。
传递给函数的变量总是以u
开头,并且它们有一个非常独特的名称,例如uCountItemsInAList
,因此匈牙利语前缀不必使用,因为从命名已经相对明确的类型。传递给函数的变量很可能很容易被误解,因此我认为允许使用一个很长的,非常具有描述性的名称。
当我只在函数中使用类时,如果函数很短,我用n
启动类名。
我每天编写16个小时的代码,而且我是手工编写的,所以我认为我的答案不会如此"错误"。虽然这个主题非常主观,但我认为可读性可以被认为是一个关键因素,而我的编码方式包含了迄今为止我能够学习的所有顶级编码器的部分内容。