As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center获取指导。




7年前关闭。





这个问题是要寻找匈牙利表示法的好例子,因此我们可以将它们汇总在一起。

编辑:我同意不必为类型使用匈牙利语,我希望有更多具体的示例来提高类型的可读性和可维护性,就像Joel在他的文章中给出的那样(根据我的回答)。

最佳答案

要求提供匈牙利表示法的好榜样的问题在于,每个人都会对好榜样的表象有自己的看法。我个人认为最好的Hungarian Notation不是匈牙利符号。该符号最初旨在表示变量的预期用途,而不是其类型,但通常用于类型信息,尤其是用于Form控件(例如,用于输入某人名字的文本框的txtFirstName)。从可读性(例如“ prepIn名词Terms prepOf nounReadability”)和重构何时需要更改类型的角度来看,这使代码的可维护性较差(在Win32 API中,已更改类型的“ lParam”)。

您可能应该考虑完全不使用它。例子:


strFirstName-这可以只是firstName,因为它的用途很明显,类型不是那么重要,在这种情况下应该很明显。如果不是很明显,IDE可以帮助您。
txtFirstName-可以更改为FirstNameTextBox或FirstName_TextBox。它读起来更好,您知道这是一个控件,而不仅仅是文本。
CAccount-C在MFC中用于类名,但是您实际上不需要它。帐户足够好。大写名称是类型的标准约定(它们仅出现在特定的位置,因此不会与属性或方法混淆)
ixArray(数组的索引)-ix有点晦涩。尝试arrayIndex。
usState(州/省的不安全字符串)-类似于“美国州/省”。最好使用state _ UnsafeString之类的东西。甚至可以将其包装在UnsafeString类中,至少使其具有类型安全性。

10-04 21:01