我在哪里可以找到匈牙利表示法的备忘单?

时间:2009-12-04 17:58:12

标签: hungarian-notation

我正在开发一个使用系统匈牙利表示法的传统COM C ++项目。因为它是对遗留代码的维护,所以惯例是以其编写的原始样式进行编码 - 我们的新代码不是以这种方式编码的。因此,我对改变标准或讨论我们过去的罪恶感兴趣=)

是否有可用于匈牙利系统符号的在线备忘单?

到目前为止,我能找到的最好的是a pre stack-overflow discussion post,但它并不具备我过去所需要的一切。有没有人有其他链接?

(使这个社区wiki成为一个自填的列表)

4 个答案:

答案 0 :(得分:3)

这里有一个'匈牙利系统',根据我的经验,它更常用(并且不太有用):

但是,普遍遵循的是,我不知道。

匈牙利表示法的另一种形式是“Apps Hungarian”,这显然是Simonyi的原始意图(变量的使用是编码而不是类型)。有关详细信息,请参阅http://en.wikipedia.org/wiki/Hungarian_notation

答案 1 :(得分:3)

如果这是针对旧版COM项目的,那么您可能希望关注MSDN上记录的Microsoft's Hungarian Notation specifications

答案 2 :(得分:1)

因为这是一个遗留项目,所以您的软件部门经理应该拥有原始程序员使用的任何匈牙利表示法版本的样式指南。 (我假设原来的程序员早已逃到更开明的工作场所。)

你真的应该重新考虑使用匈牙利符号。它原本是C中缺乏强类型(和编译器类型检查)的补丁。现代编译器强制执行类型正确性,使匈牙利符号充其量是多余的,否则就是错误的。

答案 3 :(得分:1)

似乎没有任何一个用于查找匈牙利表示法前缀的详尽资源,可能是因为其中很多因代码库而异。当然,那里有许多非常常用的。

我能找到的最佳列表是here

其余的内容涵盖了常用的约定,例如entry

MSDN对匈牙利表示法的影响是here 以及关于这个主题的几篇简短论文(或许相互重叠)herehere

你最好的选择是看看变量是如何被使用的,并且(可能)帮助你弄清楚前缀的定义(尽管在实践中,命名罕见反映了变量的使用,遗憾的是)。

您或许可以将这些符号表示在各种链接中。

只需完成(!)来自Microsoft支持的Hungarian Object Notation for Visual Basic即可。