我们的编程老师教我们使用匈牙利语符号(例如 intMyInteger
, strMyString
,...)编程时。
但我在某处听说这实际上并没有在专业领域使用。这是真的吗?
编辑:我刚刚发现这实际上是"Leszynski"
你是对的; 匈牙利符号是不受欢迎的。
True。 现代IDE,对应用程序的误解,使用问题等。基本上已经杀死了它。 这并不意味着你不会在那里找到它,但我会避免使用它,而是使用骆驼套管和帕斯卡套管。
Microsoft对命名标准提出了建议。 他们在.Net Framework中使用它,许多人遵循这一点。
MS还拥有多合一代码框架站点,其中包含文档和示例,以帮助进一步了解这一想法和其他最佳实践(从 MS 的角度来看)。
Joel的这篇文章将为您提供一些有关匈牙利符号的有用信息。
http://www.joelonsoftware.com/articles/Wrong.html
我们刚刚在我做编程的地方谈到了这一点。我们决定的是,拥有非常清晰且易于理解的名称比保存几个字符更重要。
AFAIK,它是在Windows下专门使用的。匈牙利符号来自软件工程师查尔斯·西蒙尼(Charles Simonyi),他当时是一名Microsoft员工。如您所见,到目前为止,它主要被废弃。在我看来,我同意Stroustroup的观点,他说匈牙利符号的效用仅适用于弱类型语言,但它在OOP语言中令人困惑,并且通常是抽象的限制。
当你开发你的艺术(我认为编码是一门艺术)时,你会发现你会建立自己的命名约定。就像吉他手从他/她的英雄那里采用某些风格一样。
我还没有找到任何完全适合我的"官方"命名约定建议。
我认为可读性是最重要的主题。
我的个人规则是:
私有变量应以 _
开头。变量应使用缩写的匈牙利样式,如s
表示string
,i
表示integer
,b
表示boolean
等。
对我来说,传递给函数的变量总是以u
开头,并且它们具有非常独特的名称,例如uCountItemsInAList
,因此不必使用匈牙利语前缀,因为该类型已经相对清晰。传递给函数的变量已经很容易被误解,所以在我看来,允许使用一个很长的、非常描述性的名称。
当我仅在函数中使用类时,如果函数很短,则以n
开头的类名。
每天编码16个小时,而且我疯狂地编码,所以我认为我的答案不会那么"错误"。虽然这个主题非常主观,但我认为可读性可以被认为是一个关键因素,我的编码方式包含了我迄今为止能够研究的所有顶级程序员的部分内容。