匈牙利人在VBA好吗?

时间:2010-04-03 22:53:08

标签: vba hungarian-notation

我不在.Net中使用匈牙利语(str,int)前缀,但我仍然觉得它在VBA中很有用,因为它更难以看到类型。

这不好吗?不必要?也许我错过了什么。

我真的很感激任何反馈。我一直想知道。

谢谢大家。

4 个答案:

答案 0 :(得分:6)

我想说这种匈牙利符号几乎是所有语言中所有邪恶的根源。有人说它对于极端动态的语言很方便。但不,我认为在99%的情况下,将类型缩写添加到变量名前面是多余的,只会导致丑陋的代码。

请参阅Why Shouldn't I Use Hungarian Notation?

答案 1 :(得分:5)

我建议去寻找比仅仅类型更高级别的东西,以便你可以看到事物的目的是什么。因此,不要将某个内容称为str,而是将其称为nameaddr,而不是int,而是将其称为count或一个coord inate或......

(我更喜欢使用后缀作为前缀,但这是风格和品味的问题。)

答案 2 :(得分:4)

我总是在VBA中使用一个和两个字母的前缀。我相信我是唯一一个承认这一点的人,但我认为有人需要成为逆势者。

在我写的1800万行VBA代码中,我已经合作了大约1,000个。如果没有其他人看到我的代码,那么我可以自由地使用我喜欢的约定。如果其他人正在处理您的代码,您应该同意约定。

我喜欢它可以让我保持变量名更短。我可以使用FileNumber和FileName,或者我可以使用lFile和sFile。我找不到比另一个更多或更少的可读性。它还帮助我使用保留字作为变量。如果我想使用Replace作为变量名,我不能。但我可以使用sReplace或lReplace。

答案 3 :(得分:0)

如果您公司的风格设置为使用匈牙利表示法,那么使用它就没有问题 - 策略是一项策略。有很多工具可以帮助实施编码命名约定(例如Stylecop for C#),以便您可以继续使用。

基本上有标准是一个好主意 - 但这些标准取决于你工作的公司。如果你有一些权限,你可以试图强加MS目前正在推广的标准 - 但是如果你有很多遗留代码会涉及大量昂贵的重构而且没有什么实质性的好处。

我建议您为新项目(可能通过使用代码分析工具)转移匈牙利表示法,但要对遗留代码务实。